candrews / sqs-jms-ra

SQS JMS Resource Adapter
Apache License 2.0
10 stars 3 forks source link

java.lang.NoSuchMethodException: WFLYJCA0074: Method setDestinationType not found #8

Open z3gator opened 3 years ago

z3gator commented 3 years ago

I have been trying to use with resource adapter with WildFly 22, but it fails to deploy. The error synopsis is:

[02/24/21 21:36:43:312 UTC] [Controller Boot Thread] [management-op] [ERROR  ] WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "sqs-jms-rar-1.0.0.rar")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.ra.deployment.\"sqs-jms-rar-1.0.0.rar_sqs-jms-ra\"" => "WFLYJCA0046: Failed to start RA deployment [sqs-jms-rar-1.0.0.rar]
    Caused by: org.jboss.jca.deployers.common.DeployException: WFLYJCA0072: Deployment com.integralblue.sqsjmara.SQSJMSActivationSpec failed
    Caused by: java.lang.NoSuchMethodException: WFLYJCA0074: Method setDestinationType not found"}}

with the longer stacktrace of:

[02/24/21 21:36:43:308 UTC] [ServerService Thread Pool -- 82] [fail         ] [ERROR  ] MSC000001: Failed to start service jboss.ra.deployment."sqs-jms-rar-1.0.0.rar_sqs-jms-ra": org.jboss.msc.service.StartException in service jboss.ra.deployment."sqs-jms-rar-1.0.0.rar_sqs-jms-ra": WFLYJCA0046: Failed to start RA deployment [sqs-jms-rar-1.0.0.rar]
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$2.run(AbstractResourceAdapterDeploymentService.java:340)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.base/java.lang.Thread.run(Thread.java:834)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: org.jboss.jca.deployers.common.DeployException: WFLYJCA0072: Deployment com.integralblue.sqsjmara.SQSJMSActivationSpec failed
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$AbstractWildFlyRaDeployer.initAndInject(AbstractResourceAdapterDeploymentService.java:646)
        at org.jboss.ironjacamar.impl@1.4.25.Final//org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.initActivationSpec(AbstractResourceAdapterDeployer.java:773)
        at org.jboss.ironjacamar.impl@1.4.25.Final//org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1928)
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.ResourceAdapterXmlDeploymentService$WildFlyRaXmlDeployer.doDeploy(ResourceAdapterXmlDeploymentService.java:190)
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.ResourceAdapterXmlDeploymentService.start(ResourceAdapterXmlDeploymentService.java:128)
        at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
        at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
        at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NoSuchMethodException: WFLYJCA0074: Method setDestinationType not found
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.util.Injection.inject(Injection.java:134)
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.util.Injection.inject(Injection.java:87)
        at org.jboss.as.connector@22.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$AbstractWildFlyRaDeployer.initAndInject(AbstractResourceAdapterDeploymentService.java:633)
... 12 more

I thought maybe I could avoid the error by commenting out the ActivationConfigProperty for destinationType:

@MessageDriven(activationConfig = {
// @ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination",propertyValue = "AlertQueue"),
@ActivationConfigProperty(propertyName = "acknowledgeMode",propertyValue = "Auto-acknowledge")
})

since it looks like the code is written to set the initial value to javax.jms.Queue anyway, but I still get the same error. So, while I don't know why WildFly is trying to call the setter, it also seems like it would be easy (and good form) to add the missing setter. What do you think?