Steffen Ewert wrote:
Thanks Daniel!
I think my problem is the missing @ResourceAdapter annotation. But, do you
know in which jar I can find the org.jboss.annotation.ejb.ResourceAdapter
annotation? I work on JBoss 4.2.2GA and i can't find the package
"org.jboss.annotation" anywhere ... :-( Must I install a additionaly JBoss
package? Or where else can I find the annotation?
I used 4.2.1.GA
This is the classpath from my build.xml:
<path id="j2ee.classpath">
<fileset dir="${j2ee.dir}">
<include name="lib/**.jar"/>
<include name="server/${j2ee.jboss.config}/lib/**.jar"/>
<include
name="server/${j2ee.jboss.config}/deploy/ejb3.deployer/**.jar"/>
</fileset>
</path>
Many thanks,
Steffen
Daniel Pocock wrote:
I've seen numerous postings regarding ActiveMQ with EJB3, and variations
of a datasource XML file for use with JBoss integration.
However, they don't quite work. Here is what worked for me, it is
actually quite simple:
1. Don't use any datasource file - only the RA file is required. Put it
in the `deploy' directory. The file is called activemq-rar-4.1.1.rar
and it is in the ActiveMQ distribution (lib/optional/)
2. In JBoss, the @ResourceAdapter annotation must be placed on the
Message Driven Bean (MDB). This may vary for other application servers.
3. Examples I've seen elsewhere show an activationConfig with
destination= . This doesn't work. Put the
ActiveMQ destination name in the activationConfig. There is no need to
put the queue in the JNDI.
Here is a working example - for EJB3 on JBoss, no XML descriptors are
needed, just the RA file and the MDB.
import org.jboss.annotation.ejb.ResourceAdapter;
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="FOO.TEST"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
@ResourceAdapter("activemq-rar-4.1.1.rar")
public class TestBean implements MessageListener {
public TestBean() {
}
public void onMessage(Message message) {
}
}
--
-----------------------------------------------------------------------
Ready Technology Limited
Incorporated in England and Wales, 4940731
Registered office: Devonshire House, 60 Goswell Rd, London, EC1M 7AD
-----------------------------------------------------------------------
--
-----------------------------------------------------------------------
Ready Technology Limited
Incorporated in England and Wales, 4940731
Registered office: Devonshire House, 60 Goswell Rd, London, EC1M 7AD
-----------------------------------------------------------------------