[jboss-user] [Messaging, JMS & JBossMQ] - DLQConfig isn't considered while Deployment

hlins do-not-reply at jboss.com
Thu Feb 14 10:38:48 EST 2008


Hi @all.
I want to use a special dlq for my application. Therefor according to the JBoss wiki I used the

jboss.xml


  | <jboss>
  |  <enterprise-beans>
  |   <message-driven>
  |        <ejb-name<OrderQueueMDB</ejb-name>                       
  |          <destination-jndi-name>queue/OrderQueue</destination-jndi-name>
  |        <mdb-user>order</mdb-user>
  |        <mdb-passwd>nerdy</mdb-passwd>
  |      <configuration-name>OrderQueueMDBConfig</configuration-name    </message-driven>
  | </enterprise-beans>  
  |     
  |     <invoker-proxy-bindings>
  |     <invoker-proxy-binding>
  |       <name>order-message-driven-bean</name>
  |       <invoker-mbean>default</invoker-mbean>
  |       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
  |       <proxy-factory-config>
  |         <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
  |         <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
  |         <MaximumSize>1</MaximumSize>
  |         <MaxMessages>1</MaxMessages>
  |         <MDBConfig>
  |           <ReconnectIntervalSec>10</ReconnectIntervalSec>
  |           <DLQConfig>
  |             <DestinationQueue>queue/OrderDLQ</DestinationQueue>
  |             <MaxTimesRedelivered>10</MaxTimesRedelivered>
  |             <TimeToLive>0</TimeToLive>
  |             <DLQUser>order</DLQUser>
  |             <DLQPassword>nerdy</DLQPassword>
  |           </DLQConfig>
  |         </MDBConfig>
  |       </proxy-factory-config>
  |     </invoker-proxy-binding>
  |   </invoker-proxy-bindings>
  |   
  |     <container-configurations>
  |     <container-configuration extends="Standard Message Driven Bean">
  |       <container-name>OrderQueueMDBConfig</container-name>
  |       <invoker-proxy-binding-name>order-message-driven-bean</invoker-proxy-binding-name>
  |        <container-interceptors>
  |         <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
  |         <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
  |         <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
  |         <!-- CMT -->
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
  |         <!-- BMT -->
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
  |         <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
  |       </container-interceptors>
  |       <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
  |       <instance-cache></instance-cache>
  |       <persistence-manager></persistence-manager>
  |     </container-configuration>
  |   </container-configurations>
  |  </jboss>
  | 

and the ejb-jar.xml

 
  | <message-driven>
  |        
  |        <description>Receiver for DslOrder Queue messages</description>
  | 
  |        <ejb-name>DslOrderQueueMDB</ejb-name>
  | 
  |        <ejb-class>de.schlund.j2ee.tools.genericmdb.GenericMDB</ejb-class>
  |        <messaging-type>javax.jms.MessageListener</messaging-type>
  | 		<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>
  | </message-driven>
  | 

But during deployment the following error occurs:

ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 60c384(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 136b8d7 destination=queue/OrderQueue isTopic=false tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=order pass=<not shown> maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler 
DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
javax.jms.JMSSecurityException: User: null is NOT authenticated
	at org.jboss.mq.security.SecurityManager.authenticate(SecurityManager.java:230)
	at org.jboss.mq.security.ServerSecurityInterceptor.authenticate(ServerSecurityInterceptor.java:66)
	at org.jboss.mq.server.TracingInterceptor.authenticate(TracingInterceptor.java:613)
	at org.jboss.mq.server.JMSServerInvoker.authenticate(JMSServerInvoker.java:172)
	at org.jboss.mq.il.jvm.JVMServerIL.authenticate(JVMServerIL.java:165)
	at org.jboss.mq.Connection.authenticate(Connection.java:1067)
	at org.jboss.mq.Connection.(Connection.java:252)
	at org.jboss.mq.Connection.(Connection.java:323)
	at org.jboss.mq.SpyConnection.(SpyConnection.java:116)
	at org.jboss.mq.SpyConnectionFactory.internalCreateConnection(SpyConnectionFactory.java:137)
	at org.jboss.mq.SpyConnectionFactory.createQueueConnection(SpyConnectionFactory.java:108)
	at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setupDLQConnection(AbstractDLQHandler.java:137)
	at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setup(AbstractDLQHandler.java:83)
	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.handleFailure(JmsActivation.java:259)
	at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:639)
	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)

As far as i see, the dlq config wasn't used. (see the highlighted text in the error message!)

I've any idea, where to search the error. Maybe it's an issue of the EJB Deployer. 
I've used nearly the same config with EJB 2.1 and no errors. 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129424#4129424

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129424



More information about the jboss-user mailing list