com.sun.messaging.jms.JMSException: > [ADD_CONSUMER_REPLY(15)] [C4036]: A broker error occurred. :[412] > [B4135]: Cannot add durable consumer null. No ClientID was set on > connection. user=guest, broker=localhost:37676(36560) > > Got it: Same client ID for all cluster instances, different IDs needed > for durability. > Unfortunately, I have no idea how to either turn off durability or set > client IDs. > > > 2. RMI > > Let's try RMI then, I thought, and, using code fragments posted to > this list, came up with this code: > > RemoteCommandManager rcm = new > RemoteCommandManager((CommandProcessor)session); > rcm.getDiscoveryManager().setMulticastGroupAddress("226.1.2.3"); > rcm.getDiscoveryManager().setMulticastPort(3122); > rcm.setShouldPropagateAsynchronously(true); > rcm.getDiscoveryManager().setAnnouncementDelay(5); > rcm.getTransportManager().setNamingServiceType(TransportManager.REGISTRY_NAMING_SERVICE); > > rcm.setUrl("rmi://$HOST:33700"); > rcm.setServerPlatform(session.getServerPlatform()); > ((DatabaseSession)session).setCommandManager(rcm); > ((DatabaseSession)session).setShouldPropagateChanges(false); > rcm.initialize(); > > The session customizer terminates orderly, but after some time, I get > the following exception: > > Exception Description: Could not post connection in local naming > service under name rmi://192.168.23.12:33700/11657788 > Internal Exception: java.rmi.ConnectIOException: error during JRMP > connection establishment; nested exception is: > java.io.EOFException > at > org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:87) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:160) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:113) > > at > org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:197) > >

Oracle Community | 392 Guest | 9 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    [eclipselink-users] Experiments with Glassfish and coordinated caching

    Oracle Community | 9 years ago | 392 Guest
    com.sun.messaging.jms.JMSException: > [ADD_CONSUMER_REPLY(15)] [C4036]: A broker error occurred. :[412] > [B4135]: Cannot add durable consumer null. No ClientID was set on > connection. user=guest, broker=localhost:37676(36560) > > Got it: Same client ID for all cluster instances, different IDs needed > for durability. > Unfortunately, I have no idea how to either turn off durability or set > client IDs. > > > 2. RMI > > Let's try RMI then, I thought, and, using code fragments posted to > this list, came up with this code: > > RemoteCommandManager rcm = new > RemoteCommandManager((CommandProcessor)session); > rcm.getDiscoveryManager().setMulticastGroupAddress("226.1.2.3"); > rcm.getDiscoveryManager().setMulticastPort(3122); > rcm.setShouldPropagateAsynchronously(true); > rcm.getDiscoveryManager().setAnnouncementDelay(5); > rcm.getTransportManager().setNamingServiceType(TransportManager.REGISTRY_NAMING_SERVICE); > > rcm.setUrl("rmi://$HOST:33700"); > rcm.setServerPlatform(session.getServerPlatform()); > ((DatabaseSession)session).setCommandManager(rcm); > ((DatabaseSession)session).setShouldPropagateChanges(false); > rcm.initialize(); > > The session customizer terminates orderly, but after some time, I get > the following exception: > > Exception Description: Could not post connection in local naming > service under name rmi://192.168.23.12:33700/11657788 > Internal Exception: java.rmi.ConnectIOException: error during JRMP > connection establishment; nested exception is: > java.io.EOFException > at > org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:87) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:160) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:113) > > at > org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:197) > >

    Root Cause Analysis

    1. com.sun.messaging.jms.JMSException

      > [ADD_CONSUMER_REPLY(15)] [C4036]: A broker error occurred. :[412] > [B4135]: Cannot add durable consumer null. No ClientID was set on > connection. user=guest, broker=localhost:37676(36560) > > Got it: Same client ID for all cluster instances, different IDs needed > for durability. > Unfortunately, I have no idea how to either turn off durability or set > client IDs. > > > 2. RMI > > Let's try RMI then, I thought, and, using code fragments posted to > this list, came up with this code: > > RemoteCommandManager rcm = new > RemoteCommandManager((CommandProcessor)session); > rcm.getDiscoveryManager().setMulticastGroupAddress("226.1.2.3"); > rcm.getDiscoveryManager().setMulticastPort(3122); > rcm.setShouldPropagateAsynchronously(true); > rcm.getDiscoveryManager().setAnnouncementDelay(5); > rcm.getTransportManager().setNamingServiceType(TransportManager.REGISTRY_NAMING_SERVICE); > > rcm.setUrl("rmi://$HOST:33700"); > rcm.setServerPlatform(session.getServerPlatform()); > ((DatabaseSession)session).setCommandManager(rcm); > ((DatabaseSession)session).setShouldPropagateChanges(false); > rcm.initialize(); > > The session customizer terminates orderly, but after some time, I get > the following exception: > > Exception Description: Could not post connection in local naming > service under name rmi://192.168.23.12:33700/11657788 > Internal Exception: java.rmi.ConnectIOException: error during JRMP > connection establishment; nested exception is: > java.io.EOFException > at > org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:87) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:160) > > at > org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:113) > > at > org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:197) > >

      at java.lang.Thread.run()
    2. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:619)
      1 frame