Problem in DLQ
yogendra_g May 8, 2006 12:42 AMHi,
I have an MDB which uses one topic and one queue.
Following is my jboss.xml
<jboss> <enterprise-beans> <message-driven> <ejb-name>notificationTopic</ejb-name> <destination-jndi-name>queue/RainbowJMSTopic</destination-jndi-name> <invoker-bindings> <invoker> <invoker-proxy-binding-name>default-message-driven-bean</invoker-proxy-binding-name> </invoker> </invoker-bindings> <resource-ref> <res-ref-name>RainbowConnectionFactory</res-ref-name > <jndi-name>TopicConnectionFactory</jndi-name > </resource-ref> </message-driven> <message-driven> <ejb-name>notificationQueue</ejb-name> <destination-jndi-name>topic/RainbowJMSQueue</destination-jndi-name> <invoker-bindings> <invoker> <invoker-proxy-binding-name>default-message-driven-bean</invoker-proxy-binding-name> </invoker> </invoker-bindings> <resource-ref> <res-ref-name>RainbowConnectionFactory</res-ref-name > <jndi-name>QueueConnectionFactory</jndi-name > </resource-ref> </message-driven> </enterprise-beans> <invoker-proxy-bindings> <invoker-proxy-binding> <name>default-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> <CreateJBossMQDestination>true</CreateJBossMQDestination> <MaximumSize>15</MaximumSize> <MaxMessages>1</MaxMessages> <MDBConfig> <ReconnectIntervalSec>10</ReconnectIntervalSec> <DLQConfig> <DestinationQueue>queue/DLQ</DestinationQueue> <MaxTimesRedelivered>10</MaxTimesRedelivered> <TimeToLive>0</TimeToLive> </DLQConfig> </MDBConfig> </proxy-factory-config> </invoker-proxy-binding> </invoker-proxy-bindings> </jboss>
Following is my ejb-jar.xml
ejb-jar> <enterprise-beans> <message-driven> <ejb-name>notificationTopic</ejb-name> <ejb-class>com.mphasis.rainbow.sa.notification.core.ejb.RainbowMessagingListener</ejb-class> <message-selector></message-selector> <transaction-type>Container</transaction-type> <message-driven-destination> <destination-type>javax.jms.Topic</destination-type> </message-driven-destination> <resource-ref> <res-ref-name>RainbowConnectionFactory</res-ref-name > <res-type>javax.jms.QueueConnectionFactory</res-type > <res-auth>Container</res-auth > </resource-ref> <resource-env-ref> <resource-env-ref-name>RainbowJMSTopic</resource-env-ref-name > <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type > </resource-env-ref> </message-driven> <message-driven> <ejb-name>notificationQueue</ejb-name> <ejb-class>com.mphasis.rainbow.sa.notification.core.ejb.RainbowMessagingListener</ejb-class> <message-selector></message-selector> <transaction-type>Container</transaction-type> <message-driven-destination> <destination-type>javax.jms.Queue</destination-type> </message-driven-destination> <resource-ref> <res-ref-name>RainbowConnectionFactory</res-ref-name > <res-type>javax.jms.QueueConnectionFactory</res-type > <res-auth>Container</res-auth > </resource-ref> <resource-env-ref> <resource-env-ref-name>RainbowJMSQueue</resource-env-ref-name > <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type > </resource-env-ref> </message-driven> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>notificationTopic</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>notificationQueue</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
In my jbossmq-destinations-service.xml is have declared topic and queue as follows :
<mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=RainbowJMSTopic"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends> <attribute name="SecurityConf"> <security> <role name="guest" read="true" write="true"/> <role name="publisher" read="true" write="true" create="false"/> <role name="durpublisher" read="true" write="true" create="true"/> </security> </attribute> </mbean> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=RainbowJMSQueue"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean>
Follwing is my jsm-ds.xml
<connection-factories> <!-- ==================================================================== --> <!-- JMS Stuff --> <!-- ==================================================================== --> <!-- The JMS provider loader --> <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.mq:service=JMSProviderLoader,name=JMSProvider"> <attribute name="ProviderName">DefaultJMSProvider</attribute> <attribute name="ProviderAdapterClass"> org.jboss.jms.jndi.JNDIProviderAdapter </attribute> <!-- The combined connection factory --> <attribute name="FactoryRef">java:/JmsXA</attribute> <!-- The queue connection factory --> <attribute name="QueueFactoryRef">java:/JmsXA</attribute> <!-- The topic factory --> <attribute name="TopicFactoryRef">java:/JmsXA</attribute> <!-- Uncomment to use HAJNDI to access JMS--> <!--<attribute name="Properties"> java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces jnp.partitionName=DefaultPartition java.naming.provider.url=localhost:1100 </attribute> --> </mbean> <!-- The server session pool for Message Driven Beans --> <mbean code="org.jboss.jms.asf.ServerSessionPoolLoader" name="jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool"> <depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends> <attribute name="PoolName">StdJMSPool</attribute> <attribute name="PoolFactoryClass"> org.jboss.jms.asf.StdServerSessionPoolFactory </attribute> </mbean> <!-- JMS XA Resource adapter, use this to get transacted JMS in beans --> <tx-connection-factory> <jndi-name>JmsXA</jndi-name> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property> <max-pool-size>20</max-pool-size> <security-domain-and-application>JmsXARealm</security-domain-and-application> </tx-connection-factory> </connection-factories>
The jbossmq-service.xml is as follows
<!-- Dead Letter Queue --> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=DLQ"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends> </mbean>
I am using postgres-jdbc3-service.xml
I am getting following excetpion when my server is on :
2006-05-08 09:39:34,469 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a5f99b, cl=org.jboss.mx.loading.UnifiedClassLoader3@1310e0a{ url=null ,addedOrder=0} 2006-05-08 09:39:34,484 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed DLQHandler javax.naming.NameNotFoundException: queue not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:514) at org.jnp.server.NamingServer.getBinding(NamingServer.java:522) at org.jnp.server.NamingServer.getObject(NamingServer.java:528) at org.jnp.server.NamingServer.lookup(NamingServer.java:252) at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:161) at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:245) at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:173) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSContainerInvoker.java:605) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1471) at java.lang.Thread.run(Thread.java:534) 2006-05-08 09:39:34,484 ERROR [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnect failed: JMS provider failure detected: javax.naming.NameNotFoundException: queue not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:514) at org.jnp.server.NamingServer.getBinding(NamingServer.java:522) at org.jnp.server.NamingServer.getObject(NamingServer.java:528) at org.jnp.server.NamingServer.lookup(NamingServer.java:252) at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:161) at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:245) at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:173) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSContainerInvoker.java:605) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1471) at java.lang.Thread.run(Thread.java:534) 2006-05-08 09:39:34,484 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] innerStop
Following are the startup messages :
2006-05-08 09:39:30,049 DEBUG [org.jboss.deployment.scanner.URLDeploymentScanner] Watch URL for: file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml -> file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml 2006-05-08 09:39:30,049 ERROR [org.jboss.deployment.scanner.URLDeploymentScanner] Incomplete Deployment listing: --- Packages waiting for a deployer --- org.jboss.deployment.DeploymentInfo@d45e17f3 { url=file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml } deployer: null status: null state: INIT_WAITING_DEPLOYER watch: file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml altDD: null lastDeployed: 1147061370049 lastModified: 1147061370034 mbeans: --- Incompletely deployed packages --- org.jboss.deployment.DeploymentInfo@d45e17f3 { url=file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml } deployer: null status: null state: INIT_WAITING_DEPLOYER watch: file:/D:/yogendraBackup/d/jboss-4.0.3SP1/server/vpm/deploy/ejb3-interceptors-aop.xml altDD: null lastDeployed: 1147061370049 lastModified: 1147061370034 mbeans: --- MBeans waiting for other MBeans --- ObjectName: jboss.mq:service=InvocationLayer,type=HTTP State: CONFIGURED I Depend On: jboss.mq:service=Invoker jboss.web:service=WebServer ObjectName: jboss.mq.destination:name=testTopic,service=Topic State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq.destination:name=securedTopic,service=Topic State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq.destination:name=testDurableTopic,service=Topic State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq.destination:name=RainbowJMSTopic,service=Topic State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq.destination:name=testQueue,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq.destination:name=A,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq.destination:name=B,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq.destination:name=C,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq.destination:name=D,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq.destination:name=ex,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq.destination:name=RainbowJMSQueue,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager ObjectName: jboss.mq:service=Invoker State: CONFIGURED I Depend On: jboss.mq:service=TracingInterceptor jboss:service=Naming Depends On Me: jboss.mq:service=InvocationLayer,type=HTTP jboss.mq:service=InvocationLayer,type=JVM jboss.mq:service=InvocationLayer,type=UIL2 ObjectName: jboss.mq:service=TracingInterceptor State: CONFIGURED I Depend On: jboss.mq:service=SecurityManager Depends On Me: jboss.mq:service=Invoker ObjectName: jboss.mq:service=SecurityManager State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager Depends On Me: jboss.mq.destination:name=testTopic,service=Topic jboss.mq.destination:name=securedTopic,service=Topic jboss.mq.destination:name=testDurableTopic,service=Topic jboss.mq.destination:name=RainbowJMSTopic,service=Topic jboss.mq.destination:name=testQueue,service=Queue jboss.mq:service=TracingInterceptor jboss.mq.destination:name=DLQ,service=Queue ObjectName: jboss.mq.destination:name=DLQ,service=Queue State: CONFIGURED I Depend On: jboss.mq:service=DestinationManager jboss.mq:service=SecurityManager ObjectName: jboss.mq:service=InvocationLayer,type=JVM State: CONFIGURED I Depend On: jboss.mq:service=Invoker ObjectName: jboss.mq:service=DestinationManager State: CONFIGURED I Depend On: jboss.mq:service=MessageCache jboss.mq:service=PersistenceManager jboss.mq:service=StateManager Depends On Me: jboss.mq.destination:name=testTopic,service=Topic jboss.mq.destination:name=securedTopic,service=Topic jboss.mq.destination:name=testDurableTopic,service=Topic jboss.mq.destination:name=RainbowJMSTopic,service=Topic jboss.mq.destination:name=testQueue,service=Queue jboss.mq.destination:name=A,service=Queue jboss.mq.destination:name=B,service=Queue jboss.mq.destination:name=C,service=Queue jboss.mq.destination:name=D,service=Queue jboss.mq.destination:name=ex,service=Queue jboss.mq.destination:name=RainbowJMSQueue,service=Queue jboss.mq:service=SecurityManager jboss.mq.destination:name=DLQ,service=Queue ObjectName: jboss.mq:service=InvocationLayer,type=UIL2 State: CONFIGURED I Depend On: jboss.mq:service=Invoker --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM --- ObjectName: jboss.mq:service=StateManager State: NOTYETINSTALLED Depends On Me: jboss.mq:service=DestinationManager 2006-05-08 09:39:30,065 DEBUG [org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread] Notified that enabled: true
Can you please tell me what is going wrong?
Is there any setting that is missing?
I am tring to resolve this problem since last 2 weeks.
I am new to the jboss and this is my first post to the forum, if i have violated any forum etiquettes then pls pardon.
And if get the solution to the problem ASAP then i will be gr8ful to you.
Thanks.