Remote services lost after one hour [message #1776237] |
Tue, 14 November 2017 09:26 |
Vincent Sennedot Messages: 10 Registered: March 2015 |
Junior Member |
|
|
Hello,
I have two applications which communicate with OSGi remote services on the same system.
But always after exactly one hour, the service consumer loses the remote services, although the host application still detects the consumer one in the remote registry.
If I restart the consumer application, it doesn't find the remote services anymore and the host application doesn't detect any connection. I need to restart the host application to go back to normal.
Does anyone have a solution to not lose the connection after this timeout?
Regards!
Vincent
Edit: I forgot to precise that I use the ECF generic server.
[Updated on: Tue, 14 November 2017 13:21] Report message to a moderator
|
|
|
|
Re: Remote services lost after one hour [message #1776349 is a reply to message #1776291] |
Wed, 15 November 2017 14:15 |
Vincent Sennedot Messages: 10 Registered: March 2015 |
Junior Member |
|
|
Thanks for your answer.
To reply to your questions:
1) The host application uses the ECF version which is on the Oxygen repo (3.13.8) and the consumer application uses the one which is on the Neon repo (3.13.2).
2) Yes, it's the same host/localhost.
3) Yes, my colleagues have encountered this problem on their system too.
4) We all use Windows 10.
5) The remote services are only used from user actions, they idle the rest of the time. But the disconnection is always one hour after the service bindings, no matter what is done during this time.
Unfortunately, I can't send you the applications because the host one is a proprietary software and I can't share it.
But there are some logs that maybe could help you.
After the disconnection, when I close the consumer application, there is this exception:
!ENTRY org.eclipse.ecf 4 0 2017-11-15 14:35:01.419
!MESSAGE org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf;code=4;message=container dispose error;severity4;exception=java.lang.NullPointerException;children=[]]
!STACK 0
java.lang.NullPointerException
at org.eclipse.ecf.internal.docshare.ECFStart$1.handleEvent(ECFStart.java:34)
at org.eclipse.ecf.core.AbstractContainer.fireContainerEvent(AbstractContainer.java:61)
at org.eclipse.ecf.provider.generic.ClientSOContainer.disconnect(ClientSOContainer.java:445)
at org.eclipse.ecf.provider.generic.ClientSOContainer.disconnect(ClientSOContainer.java:290)
at org.eclipse.ecf.provider.generic.ClientSOContainer.dispose(ClientSOContainer.java:74)
at org.eclipse.ecf.core.ContainerFactory$1.dispose(ContainerFactory.java:95)
at org.eclipse.ecf.internal.core.ECFPlugin.fireDisposables(ECFPlugin.java:305)
at org.eclipse.ecf.internal.core.ECFPlugin.stop(ECFPlugin.java:256)
at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:830)
at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:823)
at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:946)
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:314)
at org.eclipse.osgi.container.Module.doStop(Module.java:636)
at org.eclipse.osgi.container.Module.stop(Module.java:498)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1661)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1580)
at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:270)
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:147)
at org.eclipse.osgi.container.Module.doStop(Module.java:636)
at org.eclipse.osgi.container.Module.stop(Module.java:498)
at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
at java.lang.Thread.run(Unknown Source)
And when I start it again:
!ENTRY org.eclipse.equinox.ds 1 0 2017-11-15 14:52:27.110
!MESSAGE Could not bind a reference of component org.eclipse.ecf.mgmt.rsa.discovery.ui.discovery. The reference is: Reference[name = RemoteServiceAdmin, interface = org.osgi.service.remoteserviceadmin.RemoteServiceAdmin, policy = dynamic, cardinality = 0..1, target = null, bind = bindRemoteServiceAdmin, unbind = unbindRemoteServiceAdmin]
!ENTRY org.eclipse.equinox.ds 1 0 2017-11-15 14:52:27.115
!MESSAGE Could not bind a reference of component org.eclipse.ecf.mgmt.rsa.discovery.ui.discovery. The reference is: Reference[name = IEndpointDescriptionLocator, interface = org.eclipse.ecf.osgi.services.remoteserviceadmin.IEndpointDescriptionLocator, policy = dynamic, cardinality = 0..1, target = null, bind = bindEndpointDescriptionLocator, unbind = unbindEndpointDescriptionLocator]
|
|
|
Powered by
FUDForum. Page generated in 0.03839 seconds