You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2011/10/07 02:27:13 UTC

svn commit: r1179910 - in /directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication: consumer/ReplicationConsumerImpl.java provider/SyncReplSearchListener.java

Author: kayyagari
Date: Fri Oct  7 00:27:13 2011
New Revision: 1179910

URL: http://svn.apache.org/viewvc?rev=1179910&view=rev
Log:
o fix for DIRSERVER-1666

Modified:
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
    directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplSearchListener.java

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java?rev=1179910&r1=1179909&r2=1179910&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java Fri Oct  7 00:27:13 2011
@@ -532,7 +532,19 @@ public class ReplicationConsumerImpl imp
      */
     public void start()
     {
-        connect();
+        while ( ! connect() )
+        {
+            try
+            {
+                // try to establish a connection for every 5 seconds
+                Thread.sleep( 5000 );
+            }
+            catch( InterruptedException e )
+            {
+                LOG.warn( "Interrupted while trying to reconnect to the provider {} with user DN", config.getRemoteHost(), config.getReplUserDn() );
+            }
+        }
+        
         startSync();
     }
 

Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplSearchListener.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplSearchListener.java?rev=1179910&r1=1179909&r2=1179910&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplSearchListener.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplSearchListener.java Fri Oct  7 00:27:13 2011
@@ -77,8 +77,6 @@ public class SyncReplSearchListener impl
     /** The consumer configuration */
     private final ReplicaEventLog consumerMsgLog;
     
-    private DirectoryService directoryService;
-
 
     /**
      * Create a new instance of a consumer listener
@@ -92,10 +90,9 @@ public class SyncReplSearchListener impl
         boolean pushInRealTime )
     {
         this.pushInRealTime = pushInRealTime;
-        this.session = session;
+        setSession( session );
         setSearchRequest( searchRequest );
         this.consumerMsgLog = consumerMsgLog;
-        directoryService = session.getLdapServer().getDirectoryService();
     }
 
 
@@ -106,7 +103,6 @@ public class SyncReplSearchListener impl
     public void setSession( LdapSession session )
     {
         this.session = session;
-        directoryService = session.getLdapServer().getDirectoryService();
     }
 
 
@@ -138,7 +134,7 @@ public class SyncReplSearchListener impl
             if ( session != null )
             {
                 // We first remove the Listener from the session's chain
-                directoryService.getEventService().removeListener( this );
+                session.getCoreSession().getDirectoryService().getEventService().removeListener( this );
             }
 
             /*
@@ -219,7 +215,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setEntry( entry );
 
                 // Create the control which will be added to the response.
-                SyncStateValue syncAdd = createControl( directoryService, SyncStateTypeEnum.ADD, entry );
+                SyncStateValue syncAdd = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.ADD, entry );
                 
                 sendResult( resultEntry, entry, EventType.ADD, syncAdd );
             }
@@ -262,7 +258,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setObjectName( entry.getDn() );
                 resultEntry.setEntry( entry );
 
-                SyncStateValue syncDelete = createControl( directoryService, SyncStateTypeEnum.DELETE, entry );
+                SyncStateValue syncDelete = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.DELETE, entry );
 
                 sendResult( resultEntry, entry, EventType.DELETE, syncDelete );
             }
@@ -297,7 +293,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setObjectName( modifyContext.getDn() );
                 resultEntry.setEntry( alteredEntry );
 
-                SyncStateValue syncModify = createControl( directoryService, SyncStateTypeEnum.MODIFY, alteredEntry );
+                SyncStateValue syncModify = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.MODIFY, alteredEntry );
 
                 sendResult( resultEntry, alteredEntry, EventType.MODIFY, syncModify );
             }
@@ -337,7 +333,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setObjectName( moveContext.getDn() );
                 resultEntry.setEntry( entry );
 
-                SyncStateValue syncModify = createControl( directoryService, SyncStateTypeEnum.MODDN, entry );
+                SyncStateValue syncModify = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.MODDN, entry );
 
                 sendResult( resultEntry, entry, null, syncModify );
             }
@@ -378,7 +374,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setObjectName( entry.getDn() );
                 resultEntry.setEntry( entry );
 
-                SyncStateValue syncModify = createControl( directoryService, SyncStateTypeEnum.MODDN, entry );
+                SyncStateValue syncModify = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.MODDN, entry );
 
                 sendResult( resultEntry, entry, null, syncModify );
             }
@@ -413,7 +409,7 @@ public class SyncReplSearchListener impl
                 resultEntry.setObjectName( entry.getDn() );
                 resultEntry.setEntry( entry );
 
-                SyncStateValue syncModify = createControl( directoryService, SyncStateTypeEnum.MODDN, entry );
+                SyncStateValue syncModify = createControl( session.getCoreSession().getDirectoryService(), SyncStateTypeEnum.MODDN, entry );
                 
                 // In this case, the cookie is different
                 syncModify.setCookie( getCookie( entry ) );