[ 
https://issues.apache.org/jira/browse/JCS-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Vandahl resolved JCS-185.
--------------------------------
    Fix Version/s: jcs-3.1
         Assignee: Thomas Vandahl
       Resolution: Not A Bug

> NoSuchObjectException: no such object in table | RemoteCacheListener
> --------------------------------------------------------------------
>
>                 Key: JCS-185
>                 URL: https://issues.apache.org/jira/browse/JCS-185
>             Project: Commons JCS
>          Issue Type: Bug
>          Components: RMI Remote Cache
>    Affects Versions: jcs-2.2
>            Reporter: Eduard Wirch
>            Assignee: Thomas Vandahl
>            Priority: Major
>             Fix For: jcs-3.1
>
>
> The JCS client reports this error when starting up:
> {code}
> 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
> {code}
> The setup is like this:
> *Server*
> {code}
> registry.host=localhost
> registry.port=1103
> remote.cache.service.port=1102
> {code}
> is run in a Docker container, where port 1103 is published (and 1102 not).
> *Client*
> {code}
> jcs.auxiliary.RFailover.attributes.FailoverServers=localhost:1103
> jcs.auxiliary.RFailover.attributes.LocalPort=1102
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to