My wildfly26.1.3 doesn't start. Failed with this exception:
Exception:
15:26:45,329 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@29800384. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: WFLYEJB0501: Failed to activate MDB MyMdb
at org.jboss.as.ejb3@26.1.3.Final//org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:285)
at org.jboss.as.ejb3@26.1.3.Final//org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:65)
at org.jboss.as.ejb3@26.1.3.Final//org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:111)
at org.jboss.as.server@18.1.2.Final//org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:146)
at org.jboss.as.server@18.1.2.Final//org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:124)
at org.jboss.as.server@18.1.2.Final//org.jboss.as.server.ServerService.finishBoot(ServerService.java:458)
at org.jboss.as.server@18.1.2.Final//org.jboss.as.server.ServerService.boot(ServerService.java:417)
at org.jboss.as.controller@18.1.2.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:473)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: javax.resource.spi.InvalidPropertyException: Invalid settings: destination is a required field and must be set to the destination name. destinationType must be set to: javax.jms.Queue or javax.jms.Topic.
at deployment.activemq-rar-5.16.3.rar//org.apache.activemq.ra.ActiveMQActivationSpec.validate(ActiveMQActivationSpec.java:142)
at org.jboss.ironjacamar.impl@1.5.3.Final//org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:201)
at org.jboss.as.ejb3@26.1.3.Final//org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:280)
Theese parameters I setted on jboss-ejb3.xml and I probed with ejb-jar.xml too.
<message-driven>
<ejb-name>XMdb</ejb-name>
<ejb-class>xx.yyyy.XMdb</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>acknowledgeMode</activation-config-property-name>
<activation-config-property-value>Auto-acknowledge</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>${activemq.xxxQueueName}</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
It works, if I annotate on the MDB class with @ActivationConfigProperty instead of xml-s.
My ejb is on the war's /WEB-INF/lib
so the xml path is: /WEB-INF/lib/my_ejb_name-1.7.0-SNAPSHOT.jar/META-INF/ejb-jar.xml
I think ear->war change is the problem, because I found some other ejb-jar specific thing, what I can resolve only with annotation too.
Is there some documentation ejb-jar's doesn't work with war's ejb? Use someone somwhere on wildfly23++ MDB-s with ejb-jar.xml or jboss-ejb3.xml?
What was my mistake?
Thank you!