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")
| ,@ActivationConfigProperty(propertyName="destination",
propertyValue="queue/CommandQueue")
| ,@ActivationConfigProperty(propertyName="user",propertyValue="root")
| ,@ActivationConfigProperty(propertyName="password",propertyValue="xxx")
| ,@ActivationConfigProperty(propertyName="DLQJNDIName",
propertyValue="queue/CommandDLQ")
| ,@ActivationConfigProperty(propertyName="DLQUser", propertyValue="root")
|
,@ActivationConfigProperty(propertyName="DLQPassword",propertyValue="xxx")
|
,@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.jmsactivations...@716b8f(ra=org.jboss.resource.adapter.jms.jmsresourceadap...@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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user