Hello,
I'm attempting to write a ResourceAdapter that starts and listens on a ServerSocket. If I package the .rar and deploy it, the RA deploys and the ResourceAdapter.start(BootstrapContext context) method is called. However, when I write an MDB that implements that message-listener-type defined in my ra.xml, I get the following error message on startup:
service jboss.ra.bridgeadapter (missing) dependents: [service jboss.deployment.subunit."Bridge.ear"."bridgeejb.jar".component.BridgeMessageBean.CREATE]
Earlier in the log, I see this:
2013-07-30 13:32:06,858 INFO [org.jboss.as.connector.deployers.RADeployer] (MSC service thread 1-5) IJ020002: Deployed: file:/C:/Java/jboss-as-7.1.1.Final/standalone/tmp/vfs/deployment49596709ab3d0251/bridgeadapter.rar-a1d82499a4924ecc/contents/
My MDB is annotated with the following:
@org.jboss.ejb3.annotation.ResourceAdapter("bridgeadapter.rar")
The MDB is not packaged in the rar, but in a different jar (bridgeejb.jar) contained within the ear and is defined as an ejb module. I have added org.jboss.ejb3 as a dependency in this jar's manifest.
I have tried making changes to standalone.xml, such as adding a bridgeadapter <mdb> entry in the org.jboss.domain.ejb3 subsystem, and I have also tried creating an ejb-jar.xml, but have had no further success.
Any ideas?
Thanks,
Greg Jewell
Edit: This thread seems to indicate the same problem, but with an earlier version of JBoss 7:
https://community.jboss.org/thread/171671
The thread was opened two years ago, and was never resolved. Can anyone verify if this was fixed?
After more searching, I discovered that I needed to prepend the name of the ear containing the resource adapter, even though the MDB and the RA are contained within the same ear. Changing the code to:
@ResourceAdapter("Bridge.ear#bridgeadapter.rar")
solved the problem.