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);
}
}