2 Replies Latest reply on Jun 16, 2008 11:21 AM by ajstl

    Deployment error for MDB bound to remote queue

    rbb2007

      I have the following problem with an EJB3 MDB which is talking to a remote queue (both servers are JBoss 4.0.5 GA).

      I noticed that the container is able to transparently reconnect if the remote server is restarted, after a connection was established between the two. However, at startup, if the remote server is down, I get the deployment error below.

      What I'm interested in is having the container automatically connect to the remote system when the latter becomes available, without redeployment. Is such a behavior possible to obtain?

      Thanks,
      Radu.

      2007-03-27 18:13:31,424 INFO [org.jboss.deployment.EARDeployer] Init J2EE application: file:/E:/app/jboss/4.0/jboss-4.0.5.GA-installer/server/default/deploy/PortalApp.ear
      2007-03-27 18:13:31,954 INFO [org.jboss.ejb3.Ejb3Deployment] EJB3 deployment time took: 406
      2007-03-27 18:13:32,001 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=PortalApp.ear,jar=PortalAppEjb.jar,name=PortalConsumerBean,service=EJB3 with dependencies:
      2007-03-27 18:13:32,110 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: de.netviewer.portal.messaging.PortalConsumerBean ejbName: PortalConsumerBean
      2007-03-27 18:13:38,026 WARN [org.jboss.ejb3.mdb.MessagingContainer] Could not find the queue destination-jndi-name=queue/brokerReplyQueue
      2007-03-27 18:13:43,957 WARN [org.jboss.ejb3.mdb.MessagingContainer] destination not found: queue/brokerReplyQueue reason: javax.naming.CommunicationException: Could not obtain connection to any of these urls: joker:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server joker:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]
      2007-03-27 18:13:43,957 WARN [org.jboss.ejb3.mdb.MessagingContainer] creating a new temporary destination: queue/brokerReplyQueue
      2007-03-27 18:13:43,972 INFO [org.jboss.mq.server.jmx.Queue.brokerReplyQueue] Bound to JNDI name: queue/brokerReplyQueue
      2007-03-27 18:13:49,981 WARN [org.jboss.system.ServiceController] Problem starting service jboss.j2ee:ear=PortalApp.ear,jar=PortalAppEjb.jar,name=PortalConsumerBean,service=EJB3
      javax.naming.CommunicationException: Could not obtain connection to any of these urls: joker:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server joker:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]
      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1414)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
      at javax.naming.InitialContext.lookup(InitialContext.java:392)
      at org.jboss.ejb3.mdb.MessagingContainer.createDestination(MessagingContainer.java:500)
      at org.jboss.ejb3.mdb.MessagingContainer.innerCreateQueue(MessagingContainer.java:423)
      at org.jboss.ejb3.mdb.MessagingContainer.jmsCreate(MessagingContainer.java:385)
      at org.jboss.ejb3.mdb.MessagingContainer.innerStart(MessagingContainer.java:161)
      at org.jboss.ejb3.mdb.MessagingContainer.start(MessagingContainer.java:147)
      at org.jboss.ejb3.mdb.MDB.start(MDB.java:126)
      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:597)
      at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:102)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
      at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      ...................
      at java.lang.Thread.run(Thread.java:619)
      Caused by: javax.naming.CommunicationException: Failed to connect to server joker:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]
      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:269)
      at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1385)
      ... 152 more
      Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]
      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:243)
      ... 153 more
      Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
      at java.net.Socket.connect(Socket.java:519)
      at java.net.Socket.connect(Socket.java:469)
      at java.net.Socket.(Socket.java:366)
      at java.net.Socket.(Socket.java:266)
      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84)
      at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77)
      at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:239)
      ... 153 more
      2007-03-27 18:13:50,012 INFO [org.jboss.ejb3.EJB3Deployer] Deployed: file:/E:/app/jboss/4.0/jboss-4.0.5.GA-installer/server/default/tmp/deploy/tmp35042PortalApp.ear-contents/PortalAppEjb.jar
      2007-03-27 18:13:50,012 INFO [org.jboss.web.tomcat.tc5.TomcatDeployer] deploy, ctxPath=/PortalWebApp, warUrl=.../tmp/deploy/tmp35042PortalApp.ear-contents/PortalWebApp-exp.war/
      2007-03-27 18:13:50,371 INFO [org.jboss.deployment.EARDeployer] Started J2EE application: file:/E:/app/jboss/4.0/jboss-4.0.5.GA-installer/server/default/deploy/PortalApp.ear
      2007-03-27 18:13:50,387 ERROR [org.jboss.deployment.scanner.URLDeploymentScanner] Incomplete Deployment listing:

      --- MBeans waiting for other MBeans ---
      ObjectName: jboss.j2ee:ear=PortalApp.ear,jar=PortalAppEjb.jar,name=PortalConsumerBean,service=EJB3
      State: FAILED
      Reason: javax.naming.CommunicationException: Could not obtain connection to any of these urls: joker:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server joker:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]

      --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
      ObjectName: jboss.j2ee:ear=PortalApp.ear,jar=PortalAppEjb.jar,name=PortalConsumerBean,service=EJB3
      State: FAILED
      Reason: javax.naming.CommunicationException: Could not obtain connection to any of these urls: joker:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server joker:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server joker:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]