[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Cluster - Destination SecurityConfig Lost

aslak do-not-reply at jboss.com
Mon Sep 17 15:52:59 EDT 2007


The cluster consist of 2 identical nodes. The Client connects to the Cluster using a ClusteredConnection.
It then creates a Temporary destination for replyTo on node1. Node1 is killed, and the ClusteredConnection tries a failover to node2, but failes to lookup the Temporary Destination with the following exception:

  | 30276 [main] ERROR org.jboss.jms.client.FailoverCommandCenter  - Failover failed
  | javax.jms.InvalidDestinationException: No such destination: JBossTemporaryQueue[f-46mldp6f-1-75lldp6f-izthbc-273333a] has it been deployed?
  |         at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegateInternal(ServerSessionEndpoint.java:1872)
  |         at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegate(ServerSessionEndpoint.java:245)
  |         at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$createConsumerDelegate$aop(SessionAdvised.java:87)
  |         at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985689973.invokeNext(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
  |         at org.jboss.jms.server.container.SecurityAspect.handleCreateConsumerDelegate(SecurityAspect.java:123)
  |         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.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121)
  |         at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985689973.invokeNext(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
  |         at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
  |         at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985689973.invokeNext(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
  |         at org.jboss.jms.server.endpoint.advised.SessionAdvised.createConsumerDelegate(SessionAdvised.java)
  |         at org.jboss.jms.wireformat.SessionCreateConsumerDelegateRequest.serverInvoke(SessionCreateConsumerDelegateRequest.java:100)
  |         at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:144)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
  | 


The lookup in createConsumerDelegateIneral is looking for the Destination in the DestinationManager.

  |       ManagedDestination mDest = dm.getDestination(jmsDestination.getName(), jmsDestination.isQueue());
  |       if (mDest == null)
  |       {
  |          throw new InvalidDestinationException("No such destination: " + jmsDestination + " has it been deployed?");
  |       }
  | 

As far as I have debuged; the Temporary Destination MappingInfo is sent to node2 so the Destination 
is bound in memory, but not in the DestinationManager. 

-aslak-

(if Destinations had been bound to the DestinationManager, shouldn't deploying destinations only on one node also work?)



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085239#4085239

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4085239



More information about the jboss-dev-forums mailing list