Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java
index 04ac972933..5f67b15497 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/RecoveringCDOSessionImpl.java
@@ -123,9 +123,8 @@ public abstract class RecoveringCDOSessionImpl extends CDONet4jSessionImpl
unhookSessionProtocol();
List<AfterRecoveryRunnable> runnables = recoverSession();
- // Check if the the sessionProtocol was replaced. (This may not be the case
+ // Check if the sessionProtocol was replaced. (This may not be the case
// if the protocol is wrapped inside a DelegatingSessionProtocol.)
- //
CDOSessionProtocol newSessionProtocol = getSessionProtocol();
if (newSessionProtocol != oldSessionProtocol)
{
@@ -223,6 +222,17 @@ public abstract class RecoveringCDOSessionImpl extends CDONet4jSessionImpl
}
}
+ @Override
+ public void setSessionProtocol(CDOSessionProtocol sessionProtocol)
+ {
+ super.setSessionProtocol(sessionProtocol);
+
+ // Bug 534014: The DelegatingSessionProtocol of this session is deactivated by CDOSessionImpl.sessionProtocolListener
+ // when the delegate protocol becomes inactive. The super.setSessionProtocol() method just replaces the delegate
+ // protocol but doesn't reactivate the DelegatingSessionProtocol. Reactivate it now.
+ LifecycleUtil.activate(getSessionProtocol());
+ }
+
protected IConnector removeTCPConnector()
{
return (IConnector)container.removeElement("org.eclipse.net4j.connectors", "tcp", repositoryConnectorDescription);
@@ -276,7 +286,7 @@ public abstract class RecoveringCDOSessionImpl extends CDONet4jSessionImpl
/**
* @author Eike Stepper
*/
- public final class OpenViewRunnable implements AfterRecoveryRunnable
+ private static final class OpenViewRunnable implements AfterRecoveryRunnable
{
private int viewID;
@@ -300,7 +310,7 @@ public abstract class RecoveringCDOSessionImpl extends CDONet4jSessionImpl
/**
* @author Eike Stepper
*/
- private static class AutoCloser implements IListener
+ private static final class AutoCloser implements IListener
{
public void notifyEvent(IEvent event)
{

Back to the top