CDO Repository Server Reconnect Failure [message #654310] |
Tue, 15 February 2011 04:33 |
Nuno Santos Messages: 1 Registered: February 2011 |
Junior Member |
|
|
If found a possible bug when testing an app.
I Started the app and try to connect to a repository server that was down. It fails the connection with the timeout exception, but after i started the server and try to reconnect it still fails!
After a while i found the reason: it kept the connector in the repository plugin instance elements. It was necessary to manualy remove it from the instance elements to have it to work.
Something like this:
try{
connector=TCPUtil.getConnector(IPluginContainer.INSTANCE, host+":"+port);
configuration = CDONet4jUtil.createSessionConfiguration();
configuration.setRepositoryName(id);
configuration.setConnector(connector);
return configuration.openSession();
}catch(Throwable t){
PluginContainer.INSTANCE.removeElement(TCPConnectorFactory.PRODUCT_GROUP, TCPConnectorFactory.TYPE, host+":"+port);
throw t;
}
[Updated on: Tue, 15 February 2011 04:34] Report message to a moderator
|
|
|
Re: CDO Repository Server Reconnect Failure [message #654311 is a reply to message #654310] |
Tue, 15 February 2011 04:44 |
|
Hi Nuno,
Please ask CDO questions in the EMF newsgroup, which I've cc'ed.
I think this issue is fixed in 4.0, where inactive elements are removed from a container by default. Can you try that?
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Am 15.02.2011 05:33, schrieb Nuno Santos:
> If found a possible bug when testing an app.
> I Started the app and try to connect to a repository server that was down. It fails the connection with the timeout exception, but after i started the server and try to reconnect it still fails! After a while i found the reason: it kept the connector in the repository plugin instance elements. It was necessary to manualy remove it from the instance elements to have it to work.
> Something like this:
> [code]
> try{
> connector=TCPUtil.getConnector(IPluginContainer.INSTANCE, host+":"+port);
> configuration = CDONet4jUtil.createSessionConfiguration();
> configuration.setRepositoryName(id);
> configuration.setConnector(connector);
> return configuration.openSession();
> }catch(Throwable t){
> PluginContainer.INSTANCE.removeElement(TCPConnectorFactory.P RODUCT_GROUP, TCPConnectorFactory.TYPE, host+":"+port);
> throw t;
> }
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
|
|
|
Powered by
FUDForum. Page generated in 0.03115 seconds