Alias to a remote Context creating a loop
dcreado Sep 22, 2005 8:48 PMHi there,
I had two machines running jboss 4.0.2, one is running the JMS (and other stuff) and the other one has a Message Driven Bean listening to a Queue at the first machine.
The second machine was defined to not overload the first server (each message let the MDB to make a huge amount of work). The result of the work is published at another queue at the first server again.
To make this distribution transparent, I had setup a alias at second server like this:
<mbean code="org.jboss.naming.NamingAlias" name="jboss.mq:service=NamingAlias,fromName=ConnectionFactory"> <attribute name="ToName">jnp://second.server.com:1099/ConnectionFactory</attribute> <attribute name="FromName">ConnectionFactory</attribute> </mbean>
At second server startup the alias behave very well, but when it gets under heavy load, jboss starts to log it many times:
2005-09-22 13:36:03,607 ERROR [org.jboss.ejb.plugins.jms.DLQHandler - JMSContainerInvoker(RecordAcquirer) Reconnect] Initialization failed DLQHandler javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NameNotFoundException: XAConnectionFactory not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:491) at org.jnp.server.NamingServer.getBinding(NamingServer.java:499) at org.jnp.server.NamingServer.getObject(NamingServer.java:505) at org.jnp.server.NamingServer.lookup(NamingServer.java:278) at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:371) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:278) at sun.rmi.transport.Transport$1.run(Transport.java:163) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:159) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:477) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:718) at java.lang.Thread.run(Thread.java:568) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:264) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java(Compiled Code)) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java(Compiled Code)) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Compiled Code)) at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:151) at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:238) at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:165) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:597) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1492) at java.lang.Thread.run(Thread.java(Compiled Code)) 2005-09-22 13:36:03,609 WARN [org.jboss.ejb.plugins.jms.JMSContainerInvoker - JMSContainerInvoker(RecordAcquirer) Reconnect] JMS provider failure detected: javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NamingException: Could not dereference object. Root exception is javax.naming.NameNotFoundException: XAConnectionFactory not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:491) at org.jnp.server.NamingServer.getBinding(NamingServer.java:499) at org.jnp.server.NamingServer.getObject(NamingServer.java:505) at org.jnp.server.NamingServer.lookup(NamingServer.java:278) at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:371) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:278) at sun.rmi.transport.Transport$1.run(Transport.java:163) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:159) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:477) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:718) at java.lang.Thread.run(Thread.java:568) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:264) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java(Compiled Code)) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java(Compiled Code)) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Inlined Compiled Code)) at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java(Compiled Code)) at javax.naming.InitialContext.lookup(InitialContext.java(Compiled Code)) at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:151) at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:238) at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:165) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:597) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1492) at java.lang.Thread.run(Thread.java(Compiled Code)) 2005-09-22 13:36:03,610 INFO [org.jboss.ejb.plugins.jms.JMSContainerInvoker - JMSContainerInvoker(RecordAcquirer) Reconnect] Reconnected to JMS provider
the network between servers is a hipersocket (virtual network at zVM - in memory network), i had already monitored it and no single packet lost. So it couldn´t be any network trouble.
Could that be caused by the load of second server?
Is JNP well behaved under heavy load?
Is there any configuration available?
Thanks in advance