[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Automatically reconnect to XMPP server | 
Hi Jorg,
ECF has notification of disconnect...the notification is delivered as an 
instance of  IContainerDisconnectedEvent/IContainerEjectedEvent via 
IContainerListener.handleEvent.  IContainerListeners are added via 
IContainer.addListener(IContainerListener).  So if you wish, you may 
initiate automatic reconnect using this notification.
As you point out, the XMPP 2.2.1 provider does not automatically do such 
reconnection, but more recent versions of Smack (3.X) do automatic 
reconnection, and we have an enhancement request to move to this new 
Smack implementation:  
https://bugs.eclipse.org/bugs/show_bug.cgi?id=236452.  I do think it 
would make sense to use the 3.0.0 implementation to handle automatic 
reconnect in the xmpp provider.
The primary thing about this is moving from Smack 2.2.1 to 3.X (most 
recent).  I think we should attempt to coordinate and schedule work via 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=236452...possibly in 
coordination with the work by Nuwan's gsoc project on the google 
services provider (which is also using/extending xmpp provider), as well 
as the Google Wave work: 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347) and perhaps even 
work on the Equinox XMPP server:  
https://bugs.eclipse.org/bugs/show_bug.cgi?id=235844
So, I think the upshot here is that there is/will be work on the XMPP 
provider (moving to Smack, adding other services, and google wave), and 
we just need to make sure that the automatic reconnect in Smack is used.
Jorg...are you able/willing to contribute work on the xmpp provider 
(e.g. help with the move to Smack 3.0.0)?  I will, of course, coordinate 
the different work threads that are focused on the xmpp provider.
Thanks,
Scott
Jörg Rathlev wrote:
Hi,
in the project I'm currently working on, we would like to 
automatically reconnect to an XMPP server if the connection fails. 
Smack version 3.1 supports this, so I have tried upgrading to Smack 
3.1 (using the patch from [1]). However, I found out that when ECF's 
XMPP provider receives an event that the connection was closed, it 
then calls the XMPPConnections disconnect method, after which the 
XMPPConnection no longer attempts to reconnect to the server.
So now my question is: is there already some other way in ECF to 
automatically reconnect? If not, would it make sense to implement this 
in the XMPP provider (based on the support from Smack)? Obviously that 
would work only if the higher layers such as remote services can 
handle a disconnect/reconnect of the underlying connection.
Thanks,
Joerg
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=276879