4 Replies Latest reply on Dec 1, 2004 5:20 AM by craig1980

    PLEASE HELP ME MDB and Remote Topic

    craig1980

      Hi all; i have some MDBs; i want that these MDBs are listening on a remote topic on a server with ip address: 192.168.xxx.yyy; now by following tips in this link:
      http://www.jboss.org/wiki/Wiki.jsp?page=HowDoIConfigureAnMDBToTalkToARemoteQueue
      i have these files ( note: i'm using JBoss 3.2.5 ):

      jboss-service.xml:


      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE server PUBLIC "-//JBoss//DTD MBean Service 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-service_3_2.dtd">
      <server>
      <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=angelo">
      <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
      <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
      </mbean>
      <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=ContentAuthor">
      <attribute name="ProviderName">RemoteJMSProvider</attribute>
      <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
      <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
      <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
      <attribute name="Properties">java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
      java.naming.factory.url.pkgs=org.jnp.interfaces
      java.naming.provider.url=192.168.xxx.yyy:1099
      </attribute>
      </mbean>
      </server>


      jboss.xml:


      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
      <jboss>
      <enterprise-beans>
      <message-driven>
      <ejb-name>TestBean</ejb-name>
      <destination-jndi-name>topic/angelo</destination-jndi-name>

      <!-- I must include this if not the deployment fails -->
      <mdb-subscription-id>mySubscription</mdb-subscription-id>

      <invoker-bindings>
      <invoker>
      <invoker-proxy-binding-name>RemoteTopic</invoker-proxy-binding-name>
      <jndi-name>topic/angelo</jndi-name>
      </invoker>
      </invoker-bindings>
      </message-driven>
      </enterprise-beans>
      <invoker-proxy-bindings>
      <invoker-proxy-binding>
      <name>RemoteTopic</name>
      <invoker-mbean>remote</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
      <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI>
      <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
      <MinimumSize>1</MinimumSize>
      <KeepAliveMillis>30000</KeepAliveMillis>
      <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>


      ejb-jar.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
      <ejb-jar>
      <display-name>TestBeanJMS</display-name>
      <enterprise-beans>
      <message-driven>
      <ejb-name>TestBean</ejb-name>
      <ejb-class>testjms.TestBean</ejb-class>
      <transaction-type>Container</transaction-type>
      <message-driven-destination>
      <destination-type>javax.jms.Topic</destination-type>
      <subscription-durability>Durable</subscription-durability>
      </message-driven-destination>
      </message-driven>
      </enterprise-beans>
      <assembly-descriptor>
      <container-transaction>
      <method>
      <ejb-name>TestBean</ejb-name>
      <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      </assembly-descriptor>
      </ejb-jar>


      This is my sample MDB code:

      package testjms;
      
      import javax.ejb.MessageDrivenBean;
      import javax.jms.MessageListener;
      import javax.ejb.MessageDrivenContext;
      import javax.ejb.CreateException;
      import javax.jms.Message;
      
      public class TestBean implements MessageDrivenBean, MessageListener {
       MessageDrivenContext messageDrivenContext;
       public void ejbCreate() {
       }
      
       public void ejbRemove() {
       }
      
       public void onMessage(Message message) {
      
       System.out.println( "Ricevuto: "+ message );
       }
      
       public void setMessageDrivenContext(MessageDrivenContext
       messageDrivenContext) {
       this.messageDrivenContext = messageDrivenContext;
       }
      }


      this is my publisher code ( generated by JBuilder ):

      package testjms;
      
      import javax.naming.InitialContext;
      import javax.jms.MessageListener;
      import javax.naming.Context;
      import javax.jms.TopicConnectionFactory;
      import javax.jms.TopicConnection;
      import javax.jms.TopicSession;
      import javax.jms.TopicPublisher;
      import javax.jms.TopicSubscriber;
      import javax.jms.Topic;
      import javax.naming.NamingException;
      import java.util.Hashtable;
      import java.io.Serializable;
      import javax.jms.Message;
      
      /**
       <p>Title: </p>
      
       <p>Description: </p>
      
       <p>Copyright: Copyright (c) 2004</p>
      
       <p>Company: </p>
      
       @author not attributable
       @version 1.0
      
      
       * Use this class to publish and subscribe to messages.
       * To send a text message:
       * <code>
       * Test test = new Test();
       * test.publishText("Hello world");
       * test.close(); //Release resources
       * </code>
      
       * To receive a message:
       * <code>
       * Test test = new Test();
       * test.getTopicSubscriber();
       * </code>
       */
      public class Test implements MessageListener {
       private static Context context;
       private boolean transacted = false;
       private int acknowledgementMode = javax.jms.Session.AUTO_ACKNOWLEDGE;
       private TopicConnectionFactory topicConnectionFactory;
       private TopicConnection topicConnection;
       private TopicSession topicSession;
       private TopicPublisher topicPublisher;
       private TopicSubscriber topicSubscriber;
       private Topic topic;
       private String topicConnectionFactoryName = "ConnectionFactory";
       private String publishTopicName = "angelo";
       private String subscribeTopicName = "angelo";
       private String clientId = "angeloClient";
       private String durableName = "test";
       private boolean durable = true;
       public void setTransacted(boolean transacted) {
       this.transacted = transacted;
       }
      
       public TopicSubscriber getTopicSubscriber() throws Exception {
       if (topicSubscriber == null) {
       if (isDurable()) {
       topicSubscriber = getTopicSession(true).createDurableSubscriber(
       getSubscribeTopic(), getDurableName());
       } else {
       topicSubscriber = getTopicSession(true).createSubscriber(
       getSubscribeTopic());
       }
       topicSubscriber.setMessageListener(this);
       getTopicConnection(true).start();
       }
       return topicSubscriber;
       }
      
       public TopicPublisher getTopicPublisher() throws Exception {
       if (topicPublisher == null) {
       topicPublisher = getTopicSession(false).createPublisher(
       getPublishTopic());
       }
       return topicPublisher;
       }
      
       public Topic getPublishTopic() throws Exception {
       if (topic == null) {
       Object obj = getContext().lookup(publishTopicName);
       topic = (Topic) obj;
       }
       return topic;
       }
      
       public TopicSession getTopicSession(boolean consumer) throws Exception {
       if (topicSession == null) {
       topicSession = getTopicConnection(consumer).createTopicSession(
       isTransacted(), getAcknowledgementMode());
       }
       return topicSession;
       }
      
       public TopicConnection getTopicConnection(boolean consumer) throws
       Exception {
       if (topicConnection == null) {
       topicConnection = getTopicConnectionFactory().createTopicConnection();
       topicConnection.start();
       if (isDurable() && consumer) {
       topicConnection.setClientID(clientId);
       }
       }
       return topicConnection;
       }
      
       public TopicConnectionFactory getTopicConnectionFactory() throws Exception {
       if (topicConnectionFactory == null) {
       Object obj = getContext().lookup(topicConnectionFactoryName);
       topicConnectionFactory = (TopicConnectionFactory) obj;
       }
       return topicConnectionFactory;
       }
      
       public void setDurable(boolean durable) {
       this.durable = durable;
       }
      
       public boolean isDurable() {
       return durable;
       }
      
       public void setDurableName(String durableName) {
       this.durableName = durableName;
       }
      
       public String getDurableName() {
       return durableName;
       }
      
       public void setClientId(String clientId) {
       this.clientId = clientId;
       }
      
       public String getClientId() {
       return clientId;
       }
      
       public void setSubscribeTopicName(String subscribeTopicName) {
       this.subscribeTopicName = subscribeTopicName;
       }
      
       public String getSubscribeTopicName() {
       return subscribeTopicName;
       }
      
       public void setPublishTopicName(String publishTopicName) {
       this.publishTopicName = publishTopicName;
       }
      
       public String getPublishTopicName() {
       return publishTopicName;
       }
      
       public void setTopicConnectionFactoryName(String topicConnectionFactoryName) {
       this.topicConnectionFactoryName = topicConnectionFactoryName;
       }
      
       public String getTopicConnectionFactoryName() {
       return topicConnectionFactoryName;
       }
      
       public void setAcknowledgementMode(int acknowledgementMode) {
       this.acknowledgementMode = acknowledgementMode;
       }
      
       public int getAcknowledgementMode() {
       return acknowledgementMode;
       }
      
       public boolean isTransacted() {
       return transacted;
       }
      
       private Context getInitialContext() throws NamingException {
       Hashtable environment = new Hashtable();
      
       environment.put(Context.INITIAL_CONTEXT_FACTORY,
       "org.jnp.interfaces.NamingContextFactory");
       environment.put(Context.URL_PKG_PREFIXES,
       "org.jboss.naming:org.jnp.interfaces");
       environment.put(Context.PROVIDER_URL, "jnp://localhost:1099");
      
       return new InitialContext(environment);
       }
      
       private Context getContext() throws Exception {
       if (context == null) {
       try {
       context = getInitialContext();
       } catch (Exception ex) {
       ex.printStackTrace();
       throw ex;
       }
       }
       return context;
       }
      
       public Topic getSubscribeTopic() throws Exception {
       if (topic == null) {
       Object obj = getContext().lookup(subscribeTopicName);
       topic = (Topic) obj;
       }
       return topic;
       }
      
       public void publishText(String message) throws Exception {
       javax.jms.TextMessage textMessage = getTopicSession(false).
       createTextMessage();
       textMessage.clearBody();
       textMessage.setText(message);
       getTopicPublisher().publish(textMessage);
       if (isTransacted()) {
       getTopicSession(false).commit();
       }
       }
      
       public void publishObject(Serializable message) throws Exception {
       javax.jms.ObjectMessage objectMessage = getTopicSession(false).
       createObjectMessage();
       objectMessage.clearBody();
       objectMessage.setObject(message);
       getTopicPublisher().publish(objectMessage);
       if (isTransacted()) {
       getTopicSession(false).commit();
       }
       }
      
       public void onMessage(Message message) {
       if (message instanceof javax.jms.BytesMessage) {
       javax.jms.BytesMessage bytesMessage = (javax.jms.BytesMessage)
       message;
       /** @todo Process bytesMessage here */
       } else if (message instanceof javax.jms.MapMessage) {
       javax.jms.MapMessage mapMessage = (javax.jms.MapMessage) message;
       /** @todo Process mapMessage here */
       } else if (message instanceof javax.jms.ObjectMessage) {
       javax.jms.ObjectMessage objectMessage = (javax.jms.ObjectMessage)
       message;
       /** @todo Process objectMessage here */
       } else if (message instanceof javax.jms.StreamMessage) {
       javax.jms.StreamMessage streamMessage = (javax.jms.StreamMessage)
       message;
       /** @todo Process streamMessage here */
       } else if (message instanceof javax.jms.TextMessage) {
       javax.jms.TextMessage objectMessage = (javax.jms.TextMessage)
       message;
       /** @todo Process textMessage here */
       }
       if (isTransacted()) {
       try {
       getTopicSession(false).commit();
       } catch (Exception ex) {
       ex.printStackTrace();
       }
       }
       }
      
       public void close() throws Exception {
       if (topicPublisher != null) {
       topicPublisher.close();
       }
       if (topicSubscriber != null) {
       topicSubscriber.close();
       }
       if (topicSession != null) {
       topicSession.close();
       }
       if (topicConnection != null) {
       topicConnection.close();
       }
       }
      
       public static void main(String[] args) {
      
       Test test = new Test();
       try {
       test.publishText("Hello world");
       test.close(); //Release resources
       } catch (Exception ex) {
       }
      
       }
      }


      It seems to me that all is correct, infact i have no error o warning, but the MDB receive no message.... can anybody tell me where i'm wrong?
      Thanks to all

        • 1. Re: JBoss x11 and swing <---- Urgent
          craig1980

          Hi,

          I changed the run.sh, I mean I added the -Djava.awt.headless=true in JAVA_OPTS.

          It is still not working.

          Here is my run.sh after it was changed:

          # Setup JBoss sepecific properties
          JAVA_OPTS="$JAVA_OPTS -Dprogram.name=$PROGNAME -Djava.awt.headless=true"
          
          # JPDA options. Uncomment and modify as appropriate to enable remote debugging.
          #JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.awt.headless=true -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss"
          


          Any idea?
          My enviroment is:

          * Linux Redhat
          * JBoss 4.0.1RC
          * JDK1.4.2_06


          • 2. Re: PLEASE HELP ME MDB and Remote Topic
            craig1980

            Hi again; i have seen that some files have not showed well:

            jboss-service:

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE server PUBLIC "-//JBoss//DTD MBean Service 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-service_3_2.dtd">
            <server>
             <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=angelo">
             <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
             <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
             </mbean>
             <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=ContentAuthor">
             <attribute name="ProviderName">RemoteJMSProvider</attribute>
             <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
             <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
             <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
             <attribute name="Properties">java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
            java.naming.factory.url.pkgs=org.jnp.interfaces
            java.naming.provider.url=192.168.xxx.yyy:1099
            </attribute>
             </mbean>
            </server>


            jboss.xml:

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
            <jboss>
             <enterprise-beans>
             <message-driven>
             <ejb-name>TestBean</ejb-name>
             <destination-jndi-name>topic/angelo</destination-jndi-name>
             <mdb-subscription-id>mySubscription</mdb-subscription-id>
             <invoker-bindings>
             <invoker>
             <invoker-proxy-binding-name>RemoteTopic</invoker-proxy-binding-name>
             <jndi-name>topic/angelo</jndi-name>
             </invoker>
             </invoker-bindings>
             </message-driven>
             </enterprise-beans>
             <invoker-proxy-bindings>
             <invoker-proxy-binding>
             <name>RemoteTopic</name>
             <invoker-mbean>remote</invoker-mbean>
             <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
             <proxy-factory-config>
             <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI>
             <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
             <MinimumSize>1</MinimumSize>
             <KeepAliveMillis>30000</KeepAliveMillis>
             <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>


            ejb-jar.xml:

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
            <ejb-jar>
             <display-name>TestBeanJMS</display-name>
             <enterprise-beans>
             <message-driven>
             <ejb-name>TestBean</ejb-name>
             <ejb-class>testjms.TestBean</ejb-class>
             <transaction-type>Container</transaction-type>
             <message-driven-destination>
             <destination-type>javax.jms.Topic</destination-type>
             <subscription-durability>Durable</subscription-durability>
             </message-driven-destination>
             </message-driven>
             </enterprise-beans>
             <assembly-descriptor>
             <container-transaction>
             <method>
             <ejb-name>TestBean</ejb-name>
             <method-name>*</method-name>
             </method>
             <trans-attribute>Required</trans-attribute>
             </container-transaction>
             </assembly-descriptor>
            </ejb-jar>


            • 3. Re: PLEASE HELP ME MDB and Remote Topic
              ovidiu.feodorov

              Are you actually using "java.naming.provider.url=192.168.xxx.yyy:1099" verbatim in your deployment descriptor? That will never work ...

              Go back to http://www.jboss.org/wiki/Wiki.jsp?page=HowDoIConfigureAnMDBToTalkToARemoteQueue, I updated the document to give you more details of what to deploy were.

              • 4. Re: PLEASE HELP ME MDB and Remote Topic
                craig1980

                Hi ovidiu.feodorov@jboss.com.
                First of all thanks for your replay. I'll try your tips as soon as posible (from this night to tomorrow :-) ).
                I have a question.
                I have this configuration:

                <!-- Remote connection -->
                <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
                 name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=ContentAuthor">
                 <attribute name="ProviderName">RemoteJMSProvider</attribute>
                 <attribute name="ProviderAdapterClass">
                 org.jboss.jms.jndi.JNDIProviderAdapter
                 </attribute>
                 <!-- The queue connection factory -->
                 <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
                 <!-- The topic factory -->
                 <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
                 <!-- Connect to HAJNDI on the host whatever -->
                 <attribute name="Properties">
                 java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
                 java.naming.factory.url.pkgs=org.jnp.interfaces
                 java.naming.provider.url=192.168.xx.xyz:1099
                 </attribute>
                
                 </mbean>


                I have setted this in the file jms-ds.xml.
                Then in my ejb-jar.xml file i have:
                <message-driven>
                 <ejb-name>ConsumerBean</ejb-name>
                 <ejb-class>it.eng.nikko.infobean.mdb.IbConsumerBean</ejb-class>
                 <transaction-type>Container</transaction-type>
                 <message-driven-destination>
                 <destination-type>javax.jms.Topic</destination-type>
                 <subscription-durability>Durable</subscription-durability>
                 </message-driven-destination>
                 </message-driven>
                


                In my jboss.xml i have:
                <?xml version="1.0" encoding="UTF-8"?>
                <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
                <jboss>
                 <enterprise-beans>
                 <message-driven>
                 <ejb-name>ConsumerBean</ejb-name>
                 <destination-jndi-name>topic/it.eng.nikko.ibTopic</destination-jndi-name>
                 <mdb-client-id>it.eng.client</mdb-client-id>
                 <mdb-subscription-id>it.eng.subscriptionId</mdb-subscription-id>
                 <invoker-bindings>
                 <invoker>
                 <invoker-proxy-binding-name>RemoteTopic</invoker-proxy-binding-name>
                 </invoker>
                 </invoker-bindings>
                 </message-driven>
                 <entity>
                 <ejb-name>NikkoConfigurationBean</ejb-name>
                 <jndi-name>NikkoConfigurationBean</jndi-name>
                 </entity>
                 </enterprise-beans>
                 <invoker-proxy-bindings>
                 <invoker-proxy-binding>
                 <name>RemoteTopic</name>
                 <invoker-mbean>remote</invoker-mbean>
                 <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
                 <proxy-factory-config>
                 <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI>
                 <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
                 <MinimumSize>1</MinimumSize>
                 <KeepAliveMillis>30000</KeepAliveMillis>
                 <MaxMessages>1000</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>
                


                I have tried this and i works with OS: winXP home edition, linux red-hat advanced server and win200 pro; then i have tried it on a Sun Solaris 9 and i have an error; the error is:

                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.EjbModule] startService, starting container: ConsumerBe
                an
                2004-12-21 09:21:36,867 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jndiN
                ame=local/ConsumerBean,service=EJB
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.MessageDrivenContainer] Starting jboss.j2ee:jndiName=lo
                cal/ConsumerBean,service=EJB
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.MessageDrivenContainer] Begin java:comp/env for EJB: Co
                nsumerBean
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.MessageDrivenContainer] TCL: org.jboss.util.loading.Del
                egatingClassLoader@16d4b50
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.MessageDrivenContainer] End java:comp/env for EJB: Cons
                umerBean
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.plugins.local.BaseLocalProxyFactory] ConsumerBean canno
                t be Bound, doesn't have local and local home interfaces
                2004-12-21 09:21:36,867 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:bindi
                ng=RemoteTopic,jndiName=local/ConsumerBean,plugin=invoker,service=EJB
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Starting jboss.j2ee:bi
                nding=RemoteTopic,jndiName=local/ConsumerBean,plugin=invoker,service=EJB
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider ad
                apter: java:/RemoteJMSProvider
                2004-12-21 09:21:36,867 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.
                jboss.jms.jndi.JNDIProviderAdapter@1b5391b
                2004-12-21 09:21:36,877 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
                2004-12-21 09:21:37,047 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed DLQHandle
                r
                javax.jms.JMSException: Error creating the dlq connection: null
                 at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:171)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
                 at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
                 at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:542)
                 at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:764)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
                 at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837)
                 at $Proxy39.start(Unknown Source)
                 at org.jboss.system.ServiceController.start(ServiceController.java:367)
                 at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170)
                 at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:234)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
                 at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837)
                 at $Proxy18.start(Unknown Source)
                 at org.jboss.system.ServiceController.start(ServiceController.java:367)
                 at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                 at $Proxy35.start(Unknown Source)
                 at org.jboss.ejb.EjbModule.startService(EjbModule.java:367)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
                 at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837)
                 at $Proxy18.start(Unknown Source)
                 at org.jboss.system.ServiceController.start(ServiceController.java:367)
                 at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                 at $Proxy14.start(Unknown Source)
                 at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:570)
                 at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836)
                 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645)
                 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608)
                 at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                 at $Proxy7.deploy(Unknown Source)
                 at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304)
                 at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478)
                 at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentSc
                anner.java:201)
                 at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.ja
                va:274)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
                 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
                 at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837)
                 at $Proxy0.start(Unknown Source)
                 at org.jboss.system.ServiceController.start(ServiceController.java:367)
                 at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                 at $Proxy4.start(Unknown Source)
                 at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251)
                 at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836)
                 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645)
                 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608)
                 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:592)
                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:324)
                 at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
                 at $Proxy5.deploy(Unknown Source)
                 at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:407)
                 at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311)
                 at org.jboss.Main.boot(Main.java:145)
                 at org.jboss.Main$1.run(Main.java:399)
                 at java.lang.Thread.run(Thread.java:534)
                2004-12-21 09:21:37,638 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Started jboss.j2ee:bin
                ding=RemoteTopic,jndiName=local/ConsumerBean,plugin=invoker,service=EJB
                2004-12-21 09:21:37,638 DEBUG [org.jboss.management.j2ee.LocalJBossServerDomain] handleNotification:
                 javax.management.Notification[source=jboss.system:service=ServiceController,type= org.jboss.system.
                ServiceMBean.start,sequenceNumber=196,timeStamp=1103617297638,message=null,userData=jboss.j2ee:bindi
                ng=RemoteTopic,jndiName=local/ConsumerBean,plugin=invoker,service=EJB]
                2004-12-21 09:21:37,638 DEBUG [org.jboss.system.ServiceController] Starting dependent components for
                : jboss.j2ee:binding=RemoteTopic,jndiName=local/ConsumerBean,plugin=invoker,service=EJB dependent co
                mponents: []
                2004-12-21 09:21:37,638 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:jndiN
                ame=local/ConsumerBean,plugin=pool,service=EJB
                2004-12-21 09:21:37,638 DEBUG [org.jboss.ejb.plugins.MessageDrivenInstancePool] Starting jboss.j2ee:
                jndiName=local/ConsumerBean,plugin=pool,service=EJB
                2004-12-21 09:21:37,638 DEBUG [org.jboss.ejb.plugins.MessageDrivenInstancePool] Started jboss.j2ee:j
                ndiName=local/ConsumerBean,plugin=pool,service=EJB
                2004-12-21 09:21:37,638 DEBUG [org.jboss.management.j2ee.LocalJBossServerDomain] handleNotification:
                 javax.management.Notification[source=jboss.system:service=ServiceController,type= org.jboss.system.
                ServiceMBean.start,sequenceNumber=197,timeStamp=1103617297638,message=null,userData=jboss.j2ee:jndiN
                ame=local/ConsumerBean,plugin=pool,service=EJB]
                2004-12-21 09:21:37,638 DEBUG [org.jboss.system.ServiceController] Starting dependent components for
                : jboss.j2ee:jndiName=local/ConsumerBean,plugin=pool,service=EJB dependent components: []
                2004-12-21 09:21:37,638 DEBUG [org.jboss.resource.connectionmanager.CachedConnectionInterceptor] sta
                rt called in CachedConnectionInterceptor
                2004-12-21 09:21:37,638 DEBUG [org.jboss.ejb.MessageDrivenContainer] Started jboss.j2ee:jndiName=loc
                al/ConsumerBean,service=EJB
                2004-12-21 09:21:37,638 DEBUG [org.jboss.management.j2ee.LocalJBossServerDomain] handleNotification:
                 javax.management.Notification[source=jboss.system:service=ServiceController,type= org.jboss.system.
                ServiceMBean.start,sequenceNumber=198,timeStamp=1103617297638,message=null,userData=jboss.j2ee:jndiN
                ame=local/ConsumerBean,service=EJB]
                2004-12-21 09:21:37,638 DEBUG [org.jboss.system.ServiceController] Starting dependent components for
                : jboss.j2ee:jndiName=local/ConsumerBean,service=EJB dependent componen


                Have you any idea about this error?
                Thanks