Author: sumedha
Date: Sun Nov  9 05:47:50 2008
New Revision: 712499

URL: http://svn.apache.org/viewvc?rev=712499&view=rev
Log:
Added connection listener to both gtalk & jabber type servers.This will 
re-establish broken connection to the server.

Modified:
    
webservices/commons/trunk/modules/transport/modules/xmpp/src/org/apache/axis2/transport/xmpp/util/XMPPConnectionFactory.java

Modified: 
webservices/commons/trunk/modules/transport/modules/xmpp/src/org/apache/axis2/transport/xmpp/util/XMPPConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/xmpp/src/org/apache/axis2/transport/xmpp/util/XMPPConnectionFactory.java?rev=712499&r1=712498&r2=712499&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/transport/modules/xmpp/src/org/apache/axis2/transport/xmpp/util/XMPPConnectionFactory.java
 (original)
+++ 
webservices/commons/trunk/modules/transport/modules/xmpp/src/org/apache/axis2/transport/xmpp/util/XMPPConnectionFactory.java
 Sun Nov  9 05:47:50 2008
@@ -46,50 +46,15 @@
         * @throws XMPPException 
         */
        public void connect(final XMPPServerCredentials serverCredentials) 
throws AxisFault {
+               //XMPPConnection.DEBUG_ENABLED = true;          
                
if(XMPPConstants.XMPP_SERVER_TYPE_JABBER.equals(serverCredentials.getServerType())){
-                       ConnectionListener connectionListener = null;
-                       try 
-                       {
-                               //XMPPConnection.DEBUG_ENABLED = true;
-                               xmppConnection = new 
XMPPConnection(serverCredentials.getServerUrl());
+                       xmppConnection = new 
XMPPConnection(serverCredentials.getServerUrl());
+                       try {
                                xmppConnection.connect();
-                               connectionListener = new ConnectionListener(){
-
-                                       public void connectionClosed() {
-                                               log.debug("Connection closed 
normally");
-                                       }
-
-                                       public void connectionClosedOnError(
-                                                       Exception e1) {
-                                               log.debug("Connection to 
"+serverCredentials.getServerUrl()
-                                                               + " closed with 
error.",e1);
-                                               log.debug("Retrying to connect 
in 2 secs");
-                                               try
-                                               {
-                                                       Thread.sleep(2000);
-                                                       xmppConnection = new 
XMPPConnection(serverCredentials.getServerUrl());
-                                                       log.debug("connected to 
"+serverCredentials.getServerUrl());
-                                               } catch (InterruptedException 
e2) {
-                                                       log.debug("Sleep 
interrupted.",e2);
-                                               }
-                                       }
-
-                                       public void reconnectingIn(int seconds) 
{                       
-                                       }
-
-                                       public void 
reconnectionFailed(Exception e) {
-                                       }
-
-                                       public void reconnectionSuccessful() {
-                                       }
-                               };
-                               
xmppConnection.addConnectionListener(connectionListener);
-                       }
-                       catch(XMPPException e){
+                       } catch (XMPPException e) {
                                log.error("Failed to connect to server 
:"+serverCredentials.getServerUrl(), e);
                                throw new AxisFault("Failed to connect to 
server :"+serverCredentials.getServerUrl());
                        }
-
                        //Pause for a small time before trying to login.
                        //This prevents random ssl exception from Smack API
                        try {
@@ -132,16 +97,16 @@
                                        //              new 
FromContainsFilter(serverCredentials.getServerUrl()));
                                        packetFilter = new 
FromContainsFilter(serverCredentials.getServerUrl());                           
             
                                }
-                       }
+                       }               
+                       
                }else 
if(XMPPConstants.XMPP_SERVER_TYPE_GOOGLETALK.equals(serverCredentials.getServerType())){
+                       ConnectionConfiguration connectionConfiguration = 
+                               new 
ConnectionConfiguration(XMPPConstants.GOOGLETALK_URL
+                                       ,XMPPConstants.GOOGLETALK_PORT
+                                       
,XMPPConstants.GOOGLETALK_SERVICE_NAME);                                
+                       xmppConnection = new 
XMPPConnection(connectionConfiguration);
                        try {
-                               ConnectionConfiguration connectionConfiguration 
= 
-                                       new 
ConnectionConfiguration(XMPPConstants.GOOGLETALK_URL
-                                               ,XMPPConstants.GOOGLETALK_PORT
-                                               
,XMPPConstants.GOOGLETALK_SERVICE_NAME);                                
-                               xmppConnection = new 
XMPPConnection(connectionConfiguration);
                                xmppConnection.connect();
-
                                
xmppConnection.login(serverCredentials.getAccountName()
                                                , 
serverCredentials.getPassword()
                                                
,serverCredentials.getResource(),
@@ -154,7 +119,32 @@
                        } catch (XMPPException e1) {
                                log.error("Error occured while connecting to 
Googletalk server.",e1);
                                throw new AxisFault("Error occured while 
connecting to Googletalk server.");
+                       }       
+               }
+               
+               ConnectionListener connectionListener = null;
+               connectionListener = new ConnectionListener(){
+                       public void connectionClosed() {
+                               log.debug("Connection closed normally");
+                       }
+                       public void connectionClosedOnError(
+                                       Exception e1) {
+                               log.debug("Connection to 
"+serverCredentials.getServerUrl()
+                                               + " closed with error.",e1);
+                       }
+                       public void reconnectingIn(int seconds) {
+                               log.debug("Connection to 
"+serverCredentials.getServerUrl() 
+                                               +" failed. Reconnecting in 
"+seconds+"s");
+                       }
+                       public void reconnectionFailed(Exception e) {
+                               log.debug("Reconnection to 
"+serverCredentials.getServerUrl()+" failed.",e);
+                       }
+                       public void reconnectionSuccessful() {
+                               log.debug("Reconnection to 
"+serverCredentials.getServerUrl()+" successful.");
                        }
+               };
+               if(xmppConnection != null){
+                       
xmppConnection.addConnectionListener(connectionListener);                       
                }
        } 
 


Reply via email to