13 Replies Latest reply on Mar 11, 2004 7:54 AM by p0six

    JBoss MDB listening to OracleAQ queue

    nusa

      Hi,

      Using JBoss3.2.3, I create a MDB to listen to a remote OracleAQ queues.

      Here are steps I did :

      1. create OracleAQ queue, I call it CONTACT

      2. create a MDB :

      /*
      *
      */
      package example.mdb;

      import javax.ejb.EJBException;
      import javax.ejb.MessageDrivenBean;
      import javax.ejb.MessageDrivenContext;
      import javax.jms.Message;
      import javax.jms.MessageListener;

      import org.jboss.logging.Logger;

      /**
      * @author baa
      *
      * Created on 11-Dec-2003
      *
      */
      public class ContactMDB implements MessageDrivenBean, MessageListener {

      private static Logger log = Logger.getLogger(ContactMDB.class);

      private MessageDrivenContext mdbContext = null;

      /* (non-Javadoc)
      * @see javax.ejb.MessageDrivenBean#ejbCreate()
      */
      public void ejbCreate() throws EJBException {
      log.info("ContactMDB.ejbCreate() ...");
      }

      /* (non-Javadoc)
      * @see javax.ejb.MessageDrivenBean#ejbRemove()
      */
      public void ejbRemove() throws EJBException {
      log.info("ContactMDB.ejbRemove() ...");
      mdbContext = null;
      }

      /* (non-Javadoc)
      * @see javax.ejb.MessageDrivenBean#setMessageDrivenContext(javax.ejb.MessageDrivenContext)
      */
      public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException {
      log.info("ContactMDB.setMessageDrivenContext() ...");
      mdbContext = ctx;
      }

      /* (non-Javadoc)
      * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
      */
      public void onMessage(Message msg) {
      log.info("Got message " + msg.toString());
      }

      }

      3. ejb-jar is :
      <?xml version="1.0"?>

      <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
      "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">

      <ejb-jar>
      <enterprise-beans>

      <message-driven>
      <ejb-name>ContactMDB</ejb-name>
      <ejb-class>example.mdb.ContactMDB</ejb-class>
      <message-selector></message-selector>
      <transaction-type>Container</transaction-type>
      <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
      <message-driven-destination>
      <destination-type>javax.jms.Queue</destination-type>
      </message-driven-destination>
      <resource-ref>
      A Queue ConnectionFactory
      <res-ref-name>jms/MyQueueConnection</res-ref-name>
      <res-type>javax.jms.QueueConnectionFactory</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>
      <resource-ref>
      A Queue
      <res-ref-name>queue/CONTACT</res-ref-name>
      <res-type>javax.jms.Queue</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>
      </message-driven>

      </enterprise-beans>

      <assembly-descriptor>
      <container-transaction>

      <ejb-name>ContactMDB</ejb-name>
      <method-name>onMessage</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      </assembly-descriptor>

      </ejb-jar>

      4. jboss.xml is :
      <?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">

      <resource-managers>
      <resource-manager>
      <res-name>queuefactoryref</res-name>
      <res-jndi-name>java:/JmsXA</res-jndi-name>
      </resource-manager>
      <resource-manager>
      <res-name>queueContact</res-name>
      <!--res-jndi-name>java:/OracleDS</res-jndi-name-->
      <res-jndi-name>queue/CONTACT</res-jndi-name>
      </resource-manager>
      </resource-managers>

      <invoker-proxy-bindings>
      <invoker-proxy-binding>
      aq-message-driven-bean
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
      AQJMSProvider
      StdJMSPool
      15
      1

      10

      queue/DLQ
      10
      0


      </proxy-factory-config>
      </invoker-proxy-binding>
      </invoker-proxy-bindings>

      <container-configurations>
      <container-configuration>
      <container-name>AQ Message Driven Bean</container-name>
      <call-logging>false</call-logging>
      <invoker-proxy-binding-name>aq-message-driven-bean</invoker-proxy-binding-name>
      <container-interceptors>
      org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
      org.jboss.ejb.plugins.LogInterceptor
      org.jboss.ejb.plugins.RunAsSecurityInterceptor
      <!-- CMT -->
      org.jboss.ejb.plugins.TxInterceptorCMT
      org.jboss.ejb.plugins.MetricsInterceptor
      org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
      <!-- BMT -->
      org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
      org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
      org.jboss.ejb.plugins.MetricsInterceptor
      org.jboss.resource.connectionmanager.CachedConnectionInterceptor
      </container-interceptors>
      <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
      <instance-cache></instance-cache>
      <persistence-manager></persistence-manager>
      <container-pool-conf>
      100
      </container-pool-conf>
      </container-configuration>
      </container-configurations>

      <enterprise-beans>

      <message-driven>
      <ejb-name>ContactMDB</ejb-name>
      <configuration-name>AQ Message Driven Bean</configuration-name>
      <destination-jndi-name>queue/CONTACT</destination-jndi-name>
      <resource-ref>
      <res-ref-name>jms/MyQueueConnection</res-ref-name>
      <resource-name>queuefactoryref</resource-name>
      </resource-ref>
      <resource-ref>
      <res-ref-name>queue/CONTACT</res-ref-name>
      <resource-name>queueContact</resource-name>
      </resource-ref>
      <invoker-bindings>

      <invoker-proxy-binding-name>aq-message-driven-bean</invoker-proxy-binding-name>

      </invoker-bindings>
      <xa-connection>true</xa-connection>
      </message-driven>

      </enterprise-beans>



      5. create a jar file, MDBAQ.jar, which has the following structure :
      MDBAQ.jar
      |__example\mdb\Contact.class
      |__META-INF\ejb-jar.xml
      |__META-INF\jboss.xml

      6. add the following in jms-ds.xml :
      <!-- The AQ provider loader -->

      AQJMSProvider
      org.jboss.jms.jndi.JBossMQProvider
      jnp://XXX.XXX.XX.XX:1521:MyOraDB
      java:/XAConnectionFactory
      java:/XAConnectionFactory


      7. deploy MDBAQ.jar

      And here the error I got :

      ...
      16:07:06,584 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel) [3.2.3 (build: CVSTag=JBoss_3_2_3 date=200312120950)] Started in 1m:56s:750ms

      16:08:21,959 INFO [org.jboss.deployment.MainDeployer] Starting deployment of package: file:/C:/Java/Software/jboss-3.2.3/server/default/deploy/MDBAQ.jar

      16:08:24,123 INFO [org.jboss.ejb.EjbModule] Deploying ContactMDB

      16:08:24,423 TRACE [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Constructing

      16:08:24,523 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Creating

      16:08:24,533 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Created

      16:08:24,553 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Starting

      16:08:24,553 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing

      16:08:24,553 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/AQJMSProvider

      16:08:24,553 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JBossMQProvider@10d0eae

      16:08:24,563 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing

      16:08:24,563 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating

      16:08:24,563 DEBUG [org.jboss.jms.jndi.JBossMQProvider] connecting to remote JNDI with props:
      {java.naming.provider.url=jnp://XXX.XXX.XX.XX:1521:MyOraDB, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.rmi.security.manager=yes, java.naming.factory.url.pkgs=org.jboss.naming}

      16:08:24,563 DEBUG [org.jboss.jms.jndi.JBossMQProvider] created context: javax.naming.InitialContext@10f8ee4

      16:08:24,563 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@6e3e28

      16:08:24,654 DEBUG [org.jboss.mq.Connection] Setting the clockDaemon's thread factory

      16:08:24,654 TRACE [org.jboss.mq.Connection] Connection Initializing

      16:08:24,654 TRACE [org.jboss.mq.Connection] Getting the serverIL

      16:08:24,654 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@162e703

      16:08:24,654 TRACE [org.jboss.mq.Connection] Authenticating

      16:08:24,664 TRACE [org.jboss.mq.Connection] Authenticating user null

      16:08:24,664 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate

      16:08:24,664 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user null/null

      16:08:24,724 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] initialize

      16:08:24,724 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] Saw unauthenticatedIdentity=guest

      16:08:24,724 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] login

      16:08:24,744 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] Authenticating as unauthenticatedIdentity=guest

      16:08:24,744 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] User 'guest' authenticated, loginOk=true

      16:08:24,744 TRACE [org.jboss.mq.sm.file.DynamicLoginModule] commit, loginOk=true

      16:08:24,784 TRACE [org.jboss.mq.security.SecurityManager] Username: null is authenticated

      16:08:24,794 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.NestableGroup Roles(members:guest)

      16:08:24,794 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate

      16:08:24,794 TRACE [org.jboss.mq.Connection] Starting the clientIL service

      16:08:24,834 DEBUG [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService

      16:08:24,854 TRACE [org.jboss.mq.Connection] Connection establishment successful

      16:08:24,854 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: org.jboss.mq.SpyConnection@1360c93

      16:08:25,845 WARN [org.jnp.interfaces.NamingContext] Failed to connect to XXX.XXX.XX.XX:1099

      javax.naming.CommunicationException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:215)

      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1181)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)

      at javax.naming.InitialContext.lookup(InitialContext.java:347)

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:160)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:234)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy30.start(Unknown Source)

      at org.jboss.ejb.EjbModule.startService(EjbModule.java:331)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy12.start(Unknown Source)

      at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:544)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)

      Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:190)

      ... 61 more

      Caused by: java.net.ConnectException: Connection refused: connect

      at java.net.PlainSocketImpl.socketConnect(Native Method)

      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

      at java.net.Socket.connect(Socket.java:452)

      at java.net.Socket.connect(Socket.java:402)

      at java.net.Socket.(Socket.java:309)

      at java.net.Socket.(Socket.java:211)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:186)

      ... 61 more

      16:08:31,554 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:234)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy30.start(Unknown Source)

      at org.jboss.ejb.EjbModule.startService(EjbModule.java:331)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy12.start(Unknown Source)

      at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:544)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)

      16:08:32,075 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Started jboss.j2ee:binding=aq-message-driven-bean,jndiName=local/ContactMDB,plugin=invoker,service=EJB

      16:08:32,075 INFO [org.jboss.ejb.plugins.MessageDrivenInstancePool] Started jboss.j2ee:jndiName=local/ContactMDB,plugin=pool,service=EJB

      16:08:32,095 INFO [org.jboss.ejb.MessageDrivenContainer] Started jboss.j2ee:jndiName=local/ContactMDB,service=EJB

      16:08:32,105 INFO [org.jboss.ejb.EjbModule] Started jboss.j2ee:module=MDBAQ.jar,service=EjbModule

      16:08:32,105 INFO [org.jboss.ejb.EJBDeployer] Deployed: file:/C:/Java/Software/jboss-3.2.3/server/default/deploy/MDBAQ.jar

      16:08:32,275 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:234)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy30.start(Unknown Source)

      at org.jboss.ejb.EjbModule.startService(EjbModule.java:331)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      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.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy14.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy12.start(Unknown Source)

      at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:544)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:324)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)

      16:08:32,786 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider

      16:08:32,796 INFO [org.jboss.deployment.MainDeployer] Deployed package: file:/C:/Java/Software/jboss-3.2.3/server/default/deploy/MDBAQ.jar

      16:08:42,791 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying

      16:08:42,791 TRACE [org.jboss.mq.Connection] Closing sessions, ClientID=null

      16:08:42,791 TRACE [org.jboss.mq.Connection] Closed sessions

      16:08:42,791 DEBUG [org.jboss.mq.Connection] Notifiying the server of close

      16:08:42,791 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : connectionClosing

      16:08:42,801 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : connectionClosing

      16:08:42,801 TRACE [org.jboss.mq.Connection] Stoping the ClientIL service

      16:08:42,801 TRACE [org.jboss.mq.Connection] Disconnected from server

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/AQJMSProvider

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JBossMQProvider@10d0eae

      16:08:42,801 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating

      16:08:42,801 DEBUG [org.jboss.jms.jndi.JBossMQProvider] connecting to remote JNDI with props:
      {java.naming.provider.url=jnp://XXX.XXX.XX.XX:1521:MyOraDB, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.rmi.security.manager=yes, java.naming.factory.url.pkgs=org.jboss.naming}

      16:08:42,801 DEBUG [org.jboss.jms.jndi.JBossMQProvider] created context: javax.naming.InitialContext@739aa3

      16:08:42,801 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@6e3e28

      16:08:42,801 TRACE [org.jboss.mq.Connection] Connection Initializing

      16:08:42,801 TRACE [org.jboss.mq.Connection] Getting the serverIL

      16:08:42,801 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@162e703

      16:08:42,801 TRACE [org.jboss.mq.Connection] Authenticating

      16:08:42,811 TRACE [org.jboss.mq.Connection] Authenticating user null

      16:08:42,811 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate

      16:08:42,811 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user null/null

      16:08:42,811 TRACE [org.jboss.mq.security.SecurityManager] Username: null is authenticated

      16:08:42,811 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.NestableGroup Roles(members:guest)

      16:08:42,811 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate

      16:08:42,811 TRACE [org.jboss.mq.Connection] Starting the clientIL service

      16:08:42,811 DEBUG [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService

      16:08:42,811 TRACE [org.jboss.mq.Connection] Connection establishment successful

      16:08:42,811 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: org.jboss.mq.SpyConnection@1ad6c98

      16:08:43,773 WARN [org.jnp.interfaces.NamingContext] Failed to connect to XXX.XXX.XX.XX:1099

      javax.naming.CommunicationException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:215)

      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1181)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)

      at javax.naming.InitialContext.lookup(InitialContext.java:347)

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:160)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:190)

      ... 10 more

      Caused by: java.net.ConnectException: Connection refused: connect

      at java.net.PlainSocketImpl.socketConnect(Native Method)

      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

      at java.net.Socket.connect(Socket.java:452)

      at java.net.Socket.connect(Socket.java:402)

      at java.net.Socket.(Socket.java:309)

      at java.net.Socket.(Socket.java:211)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:186)

      ... 10 more

      16:08:48,821 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:08:48,841 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider

      16:08:48,841 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:08:48,851 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying

      16:08:58,866 TRACE [org.jboss.mq.Connection] Closing sessions, ClientID=null

      16:08:58,866 TRACE [org.jboss.mq.Connection] Closed sessions

      16:08:58,866 DEBUG [org.jboss.mq.Connection] Notifiying the server of close

      16:08:58,866 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : connectionClosing

      16:08:58,866 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : connectionClosing

      16:08:58,866 TRACE [org.jboss.mq.Connection] Stoping the ClientIL service

      16:08:58,866 TRACE [org.jboss.mq.Connection] Disconnected from server

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/AQJMSProvider

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JBossMQProvider@10d0eae

      16:08:58,866 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating

      16:08:58,866 DEBUG [org.jboss.jms.jndi.JBossMQProvider] connecting to remote JNDI with props:
      {java.naming.provider.url=jnp://XXX.XXX.XX.XX:1521:MyOraDB, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.rmi.security.manager=yes, java.naming.factory.url.pkgs=org.jboss.naming}

      16:08:58,866 DEBUG [org.jboss.jms.jndi.JBossMQProvider] created context: javax.naming.InitialContext@16f3619

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@6e3e28

      16:08:58,866 TRACE [org.jboss.mq.Connection] Connection Initializing

      16:08:58,866 TRACE [org.jboss.mq.Connection] Getting the serverIL

      16:08:58,866 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@162e703

      16:08:58,866 TRACE [org.jboss.mq.Connection] Authenticating

      16:08:58,866 TRACE [org.jboss.mq.Connection] Authenticating user null

      16:08:58,866 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate

      16:08:58,866 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user null/null

      16:08:58,866 TRACE [org.jboss.mq.security.SecurityManager] Username: null is authenticated

      16:08:58,866 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.NestableGroup Roles(members:guest)

      16:08:58,866 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate

      16:08:58,866 TRACE [org.jboss.mq.Connection] Starting the clientIL service

      16:08:58,866 DEBUG [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService

      16:08:58,866 TRACE [org.jboss.mq.Connection] Connection establishment successful

      16:08:58,866 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: org.jboss.mq.SpyConnection@48cd13

      16:08:59,798 WARN [org.jnp.interfaces.NamingContext] Failed to connect to XXX.XXX.XX.XX:1099

      javax.naming.CommunicationException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:215)

      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1181)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)

      at javax.naming.InitialContext.lookup(InitialContext.java:347)

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:160)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:190)

      ... 10 more

      Caused by: java.net.ConnectException: Connection refused: connect

      at java.net.PlainSocketImpl.socketConnect(Native Method)

      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

      at java.net.Socket.connect(Socket.java:452)

      at java.net.Socket.connect(Socket.java:402)

      at java.net.Socket.(Socket.java:309)

      at java.net.Socket.(Socket.java:211)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:186)

      ... 10 more

      16:09:04,825 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:09:04,825 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider

      16:09:04,825 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:09:04,835 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying

      16:09:14,841 TRACE [org.jboss.mq.Connection] Closing sessions, ClientID=null

      16:09:14,841 TRACE [org.jboss.mq.Connection] Closed sessions

      16:09:14,841 DEBUG [org.jboss.mq.Connection] Notifiying the server of close

      16:09:14,841 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : connectionClosing

      16:09:14,841 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : connectionClosing

      16:09:14,841 TRACE [org.jboss.mq.Connection] Stoping the ClientIL service

      16:09:14,841 TRACE [org.jboss.mq.Connection] Disconnected from server

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroyed

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/AQJMSProvider

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JBossMQProvider@10d0eae

      16:09:14,841 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating

      16:09:14,841 DEBUG [org.jboss.jms.jndi.JBossMQProvider] connecting to remote JNDI with props:
      {java.naming.provider.url=jnp://XXX.XXX.XX.XX:1521:MyOraDB, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.rmi.security.manager=yes, java.naming.factory.url.pkgs=org.jboss.naming}

      16:09:14,841 DEBUG [org.jboss.jms.jndi.JBossMQProvider] created context: javax.naming.InitialContext@1ce9f9d

      16:09:14,841 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyXAConnectionFactory@6e3e28

      16:09:14,841 TRACE [org.jboss.mq.Connection] Connection Initializing

      16:09:14,841 TRACE [org.jboss.mq.Connection] Getting the serverIL

      16:09:14,841 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.jvm.JVMServerIL@162e703

      16:09:14,841 TRACE [org.jboss.mq.Connection] Authenticating

      16:09:14,841 TRACE [org.jboss.mq.Connection] Authenticating user null

      16:09:14,841 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : authenticate

      16:09:14,841 TRACE [org.jboss.mq.security.ServerSecurityInterceptor] Autenticating user null/null

      16:09:14,841 TRACE [org.jboss.mq.security.SecurityManager] Username: null is authenticated

      16:09:14,841 TRACE [org.jboss.mq.security.SecurityManager] Adding group : class org.jboss.security.NestableGroup Roles(members:guest)

      16:09:14,841 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : authenticate

      16:09:14,841 TRACE [org.jboss.mq.Connection] Starting the clientIL service

      16:09:14,841 DEBUG [org.jboss.mq.GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.jvm.JVMClientILService

      16:09:14,841 TRACE [org.jboss.mq.Connection] Connection establishment successful

      16:09:14,851 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Created connection: org.jboss.mq.SpyConnection@510dc2

      16:09:15,822 WARN [org.jnp.interfaces.NamingContext] Failed to connect to XXX.XXX.XX.XX:1099

      javax.naming.CommunicationException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:215)

      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1181)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)

      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:507)

      at javax.naming.InitialContext.lookup(InitialContext.java:347)

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:160)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server XXX.XXX.XX.XX:1099 [Root exception is java.net.ConnectException: Connection refused: connect]

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:190)

      ... 10 more

      Caused by: java.net.ConnectException: Connection refused: connect

      at java.net.PlainSocketImpl.socketConnect(Native Method)

      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)

      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)

      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)

      at java.net.Socket.connect(Socket.java:452)

      at java.net.Socket.connect(Socket.java:402)

      at java.net.Socket.(Socket.java:309)

      at java.net.Socket.(Socket.java:211)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)

      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)

      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:186)

      ... 10 more

      16:09:21,090 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:09:21,170 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Reconnected to JMS provider

      16:09:21,180 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker] JMS provider failure detected:

      javax.jms.JMSException: Error creating the dlq connection: Receive timed out

      at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:169)

      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1173)

      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run(JMSContainerInvoker.java:686)

      16:09:21,261 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Trying to reconnect to JMS provider

      16:09:22,803 INFO [org.jboss.system.server.Server] JBoss SHUTDOWN: Undeploying all packages

      16:09:22,803 INFO [org.jboss.ejb.EjbModule] Stopping jboss.j2ee:module=MDBAQ.jar,service=EjbModule

      16:09:22,813 INFO [org.jboss.ejb.MessageDrivenContainer] Stopping jboss.j2ee:jndiName=local/ContactMDB,service=EJB

      16:09:22,823 INFO [org.jboss.ejb.MessageDrivenContainer] Stopping

      16:09:22,833 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Stopping jboss.j2ee:binding=aq-message-driven-bean,jndiName=local/ContactMDB,plugin=invoker,service=EJB

      16:09:22,843 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Stop requested

      16:09:22,843 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Current thread interrupted

      16:09:22,843 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Destroying

      ...

      Questions :
      1. where is it configured these 'Authenticating user null' ?
      2. why it try to connect to port 1099, instead of Oracle port ( 1521 ) ?
      3. how to bind DLQ to Oracle exception queue ?


      Thanks for any help, suggestions, ...

      nusa.



        • 1. Re: JBoss MDB listening to OracleAQ queue

          Unless Oracle is binding its objects into jnp you need to do one two things.

          1) Use an Oracle specific jndi provider class.
          2) Find some other way to get Oracle's jndi into jboss's jndi (jnp)
          e.g. the external context mbean

          Regards,
          Adrian

          • 2. Re: JBoss MDB listening to OracleAQ queue
            nusa

            Adrian,

            Thanks, any pointer how to do that ?

            nusa

            • 3. Re: JBoss MDB listening to OracleAQ queue

              How todo which?

              1) Provide an alternate implemetnation to this:
              http://cvs.sourceforge.net/viewcvs.py/jboss/jboss/src/main/org/jboss/jms/jndi/JBossMQProvider.java?rev=1.9&view=auto
              2) Use this mbean to add an external context somewhere in jboss's tree
              http://cvs.sourceforge.net/viewcvs.py/jboss/jboss/src/main/org/jboss/naming/ExternalContext.java?rev=1.17&view=auto
              There are examples of (2) if you use search and avoid all the fumbling.

              Regards,
              Adrian

              • 4. Re: JBoss MDB listening to OracleAQ queue
                nusa

                Adrian,

                Thanks, I think option number 2 is more suitable.
                The example is good ( ExternalContextUnitTestCase.java ).
                (Maybe this should be added into the new Getting Started, or payed doc ).

                Once I can bind Oracle jndi into JBoss jndi ( I suppose that will eliminate the port problem above ), is my jboss.xml config above correct ?

                Regarding the DLQ, my understanding in that any undelivered message will be persisted into DLQ. In Oracle, it goes into exception queue, and each queue has its own exception queue.
                OracleAQ will handle this automatically.
                Does it mean that I don't need any more in my jboss.xml above ?

                Thanks again for this ExternalContext thing.

                nusa

                • 5. Re: JBoss MDB listening to OracleAQ queue
                  nusa

                  Adrian or others,

                  Following your suggestions, here are the steps I did :
                  1. deploy a new service file ( aq-service.xml ) which has this layout :

                  <?xml version="1.0" encoding="UTF-8"?>
                  <!DOCTYPE server>



                  AQContext
                  aq.properties
                  true
                  javax.naming.InitialContext



                  2. create a properties file ( aq.properties ) :

                  java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
                  java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
                  java.naming.provider.url=jnp://XXX.XXX.XX.XX:1521:MyOraDB
                  I put it in a directory where CLASSPATH see it, not under $JBOSS_HOME/server//deploy

                  3. modify the jms-ds.xml :
                  ...
                  <!-- The AQ provider loader
                  -->

                  AQJMSProvider
                  org.jboss.jms.jndi.JBossMQProvider
                  <!--attribute name="ProviderUrl">jnp://XXX.XXX.XX.XX:1521:MyOraDB</attribute-->
                  AQContext
                  java:/XAConnectionFactory
                  java:/XAConnectionFactory

                  ...

                  4. modify ejb-jar.xml ( see above ) :
                  ...
                  <message-driven>
                  ...
                  <resource-env-ref>
                  <resource-env-ref-name>AQContext</resource-env-ref-name>
                  <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
                  </resource-env-ref>
                  </message-driven>
                  ...

                  4. modify jboss.xml ( see above ) :
                  ...
                  <resource-env-ref>
                  <resource-env-ref-name>AQContext</resource-env-ref-name>
                  <jndi-name>AQContext</jndi-name>
                  </resource-env-ref>
                  ...

                  Even with those modification, I still got errors :
                  ...
                  15:06:13,769 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/AQJMSProvider

                  15:06:13,769 ERROR [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Starting failed

                  javax.naming.NameNotFoundException: AQJMSProvider not bound

                  ...

                  Any help or suggestions at all ?

                  Thanks,
                  nusa

                  • 6. Re: JBoss MDB listening to OracleAQ queue
                    genman


                    I would double check these...

                    java:/XAConnectionFactory
                    java:/XAConnectionFactory

                    I would assume the remote JMS provider wouldn't bind or expose the connection factory in the java;/ namespace in JNDI. If you could create a quick example program that looks up the JNDI and sends a message to your OracleAQ server you should post that. Should only be about 10-15 lines of code.

                    • 7. Re: JBoss MDB listening to OracleAQ queue
                      nusa

                      genman,

                      I think my problem is how to configure properly this AQJMSProvider, which is
                      already defined within <invoker-proxy-binding>
                      Why do I have to double check the java:/XAConnectionFactory ?

                      I'm a bit confused now between the external context AQContext and AQJMSProvider,
                      how they related each other.

                      • 8. Re: JBoss MDB listening to OracleAQ queue

                        Nusa,

                        The purpose of the external context is to take part of Oracle's jndi tree and
                        place it in jboss's tree.
                        The jndi properties should not be using jnp (this is jboss's jndi settings).
                        You need to use Oracle's jndi settings.

                        Once you have Oracle's jndi inside jboss's jndi you can then use those
                        jndi names in the jms provider connection factory configuration and the mdb
                        queue/topic/dlq configuration.

                        Also don't place a .properties in /deploy, jboss won't know what to do with it.
                        Put it iin /conf

                        I've got no idea what you are doing with the resource managers. It is irrelevent.

                        Regards,
                        Adrian

                        • 9. Re: JBoss MDB listening to OracleAQ queue
                          rchristy63

                          I wanted to get clarification on this thread, does this assume that Oracle AQ is under control of Oracles's app server running remotely to perform the remote jndi lookup?

                          In our env, we are running Oracle AQ without running their app server. All I want to do is connect a MDB to that queue. Is it necessary to perform the same steps? If not, what do I need to do to get this to work.

                          Thanks in advance,

                          Rich

                          • 10. Re: JBoss MDB listening to OracleAQ queue
                            nusa

                            There are two ways to use AQ :
                            1. through Oracle's app server ( OC4J )
                            2. use directly the aqapi.jar package

                            The first approach is rather redundant, because you must have OC4J running ( that means you have two app server running, OC4J and JBoss ).

                            The second approach is rather 'easy'. Use AQjmsxxx class to bind into JBoss. This is similar approach with using MQ ( search through JBoss user mail list about that ).

                            Hope that help.

                            nusa

                            • 11. Re: JBoss MDB listening to OracleAQ queue

                              In order to get AQjmxXXX classes to bind into JDNI without the use of an external LDAP server I had to create wrappers around several of Oracle's classes and write my own ConnectionConsumer. Is there an easier way?

                              • 12. Re: JBoss MDB listening to OracleAQ queue
                                osoe

                                Nusa,

                                I am curious to know whether you are able to make your MDB talk to OracleAQ. I am looking for a similar solution to make my JBoss MDB to talk to oradleAQ.

                                It would be of great help if some one couls post the sample code to do this.

                                Thanks

                                • 13. Re: JBoss MDB listening to OracleAQ queue

                                  I developed a solution to the problem using the basics from the WSMQ patch. It is posted as a patch.

                                  http://sourceforge.net/tracker/index.php?func=detail&aid=912173&group_id=22866&atid=376687