Getting NotFoundInDispatcherException when I look up an ejb in a JBoss cluster and one of the nodes has failed.

Solution Unverified - Updated -

Issue

Process:
- Node1 and Node2 started
- Started the client code, is going always to the 166 node.
- Stopping the 166 node results in an exception.

I get the following exception in the client:

~~~
java.lang.reflect.UndeclaredThrowableException
     at $Proxy3.getLocalName(Unknown Source)
     at xxx.yyy.simple.client.SimpleEJBClient.main(SimpleEJBClient.java:36)
Caused by: org.jboss.aop.NotFoundInDispatcherException: Object with oid: jboss.j2ee:ear=SimpleEJBsEAR.ear,jar=SimpleEJBs.jar,name=LocalNameMBean,service=EJB3 was not found in the Dispatcher
     at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:85)
     at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
     at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:897)
     at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:768)
     at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:721)
     at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548)
     at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
     at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:213)
     at org.jboss.remoting.Client.invoke(Client.java:1927)
     at org.jboss.remoting.Client.invoke(Client.java:770)
     at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
     at $Proxy4.invoke(Unknown Source)
     at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:188)
     at $Proxy3.getLocalName(Unknown Source)
     at xxx.yyy.simple.client.SimpleEJBClient.main(SimpleEJBClient.java:36)
     at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
     at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
     at $Proxy4.invoke(Unknown Source)
     at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:188)
     ... 2 more
~~~
  • We have three clusters containing two nodes each. These six nodes all use a stateful session bean running in one of the clusters. A call to a public method in the bean frequently fails due to a
 java.lang.reflect.UndeclaredThrowableException. Caused by information in the stack trace shows two different root cause exceptions: 
Caused by: org.jboss.aop.DispatcherConnectException: EJB container is not completely started, or is stopped.
and
Caused by: org.jboss.aop.NotFoundInDispatcherException: Object with oid: jboss.j2ee:ear=ls-application-15.8.2.1.ear,jar=as-ejb-15.8.2.1.jar,name=xyzBean,service=EJB3 was not found in the Dispatcher

These exceptions come and go over time. However, there are times when they do not cease on their own. We get several hundred in an hour or two, the process execution becomes severely hindered and we recover by stopping and starting the process containing the stateful session bean.

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 5.0.1.GA

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.