Uploaded image for project: 'Commons JCS'
  1. Commons JCS
  2. JCS-185

NoSuchObjectException: no such object in table | RemoteCacheListener

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Bug
    • jcs-2.2
    • jcs-3.1
    • RMI Remote Cache
    • None

    Description

      The JCS client reports this error when starting up:

      20-Nov-2017 12:00:37.856 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.newRemoteCacheNoWait Problem adding listener. Message: RemoteException occurred in server thread; nested exception is: 
      	java.rmi.NoSuchObjectException: no such object in table | RemoteCacheListener = 
       RemoteCacheListener: 
       AbstractRemoteCacheListener: 
       RemoteHost = localhost:1103
       ListenerId = 0
       java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
      	java.rmi.NoSuchObjectException: no such object in table
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:377)
      	at sun.rmi.transport.Transport$1.run(Transport.java:200)
      	at sun.rmi.transport.Transport$1.run(Transport.java:197)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:748)
      	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
      	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
      	at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
      	at com.sun.proxy.$Proxy174.addCacheListener(Unknown Source)
      	at org.apache.commons.jcs.engine.CacheWatchRepairable.addCacheListener(CacheWatchRepairable.java:116)
      	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.addRemoteCacheListener(RemoteCacheManager.java:183)
      	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.newRemoteCacheNoWait(RemoteCacheManager.java:294)
      	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.getCache(RemoteCacheManager.java:264)
      	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheFactory.createCache(RemoteCacheFactory.java:122)
      	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseAuxiliary(CompositeCacheConfigurator.java:500)
      	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:261)
      	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:161)
      	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegions(CompositeCacheConfigurator.java:136)
      	at org.apache.commons.jcs.engine.control.CompositeCacheManager.doConfigure(CompositeCacheManager.java:490)
      	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:441)
      	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:391)
      	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:373)
      	at org.apache.commons.jcs.JCS.getCacheManager(JCS.java:163)
      	at org.apache.commons.jcs.JCS.getInstance(JCS.java:190)
      	<my code>
      Caused by: java.rmi.NoSuchObjectException: no such object in table
      	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
      	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
      	at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
      	at com.sun.proxy.$Proxy61.getLocalHostAddress(Unknown Source)
      	at org.apache.commons.jcs.auxiliary.remote.server.RemoteCacheServer.addCacheListener(RemoteCacheServer.java:1385)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
      	at sun.rmi.transport.Transport$1.run(Transport.java:200)
      	at sun.rmi.transport.Transport$1.run(Transport.java:197)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	... 1 more
      

      The setup is like this:

      Server

      registry.host=localhost
      registry.port=1103
      remote.cache.service.port=1102
      

      is run in a Docker container, where port 1103 is published (and 1102 not).

      Client

      jcs.auxiliary.RFailover.attributes.FailoverServers=localhost:1103
      jcs.auxiliary.RFailover.attributes.LocalPort=1102
      

      Attachments

        Activity

          People

            tv Thomas Vandahl
            ewirch Eduard Wirch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: