[ 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)