[jboss-user] [EJB 3.0] - Own DLQ for EJB3-MDB via ActivationConfigProperty doesn't wo
camunda
do-not-reply at jboss.com
Fri Feb 20 07:12:16 EST 2009
Hi!
currently I have a problem with an EJB3-MDB which should have an own DLQ configured. As far as I found this can be done via ActivationConfigProperties in EJB3.
So I added these Annotations to my MDB:
| @MessageDriven(name="CommandMessageDrivenBean", activationConfig = {
| @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
| , at ActivationConfigProperty(propertyName="destination", propertyValue="queue/CommandQueue")
| , at ActivationConfigProperty(propertyName="user",propertyValue="root")
| , at ActivationConfigProperty(propertyName="password",propertyValue="xxx")
| , at ActivationConfigProperty(propertyName="DLQJNDIName", propertyValue="queue/CommandDLQ")
| , at ActivationConfigProperty(propertyName="DLQUser", propertyValue="root")
| , at ActivationConfigProperty(propertyName="DLQPassword",propertyValue="xxx")
| , at ActivationConfigProperty(propertyName="DLQMaxResent",propertyValue="0")
| })
| public class CommandMDB implements MessageListener {
|
But still the default DLQ (queue/DLQ) is used if an exception is thrown in the MDB. This puzzles me.
If I configure a non existent queue in the ActivationConfigProperty "DLQJNDIName", I get an exception that the queue is not available:
| 2009-02-20 13:11:10,517 WARN WARN [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-11:) Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 716b8f(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at db19d3 destination=queue/CommandQueue isTopic=false tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=root pass=<not shown> maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/InvalidDLQ DLQUser=null DLQMaxResent=5)
| javax.naming.NameNotFoundException: queue/InvalidDLQ
| at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:242)
| at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:155)
| at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:312)
| at $Proxy255.lookup(Unknown Source)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
| at javax.naming.InitialContext.lookup(InitialContext.java:392)
| at org.jboss.util.naming.Util.lookup(Util.java:215)
| at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setupDLQDestination(AbstractDLQHandler.java:106)
| at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setup(AbstractDLQHandler.java:82)
| at org.jboss.resource.adapter.jms.inflow.dlq.JBossMQDLQHandler.setup(JBossMQDLQHandler.java:48)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDLQ(JmsActivation.java:369)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:315)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:635)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
| at java.lang.Thread.run(Thread.java:619)
|
So I think the property is read correctly...
Any ideas?
Thanks
Bernd
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211773#4211773
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211773
More information about the jboss-user
mailing list