You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2013/02/19 19:40:43 UTC
svn commit: r1447862 -
/cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java
Author: ay
Date: Tue Feb 19 18:40:43 2013
New Revision: 1447862
URL: http://svn.apache.org/r1447862
Log:
[CXF-4838] Server-side EP may throw NPE when a request message arrives while the EP is being stopped ...
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java?rev=1447862&r1=1447861&r2=1447862&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java Tue Feb 19 18:40:43 2013
@@ -40,8 +40,9 @@ public abstract class AbstractObservable
public synchronized void setMessageObserver(MessageObserver observer) {
if (observer != incomingObserver) {
MessageObserver old = incomingObserver;
- incomingObserver = observer;
+ // the observer switch must take place before activation or after deactivation
if (observer != null) {
+ incomingObserver = observer;
getLogger().fine("registering incoming observer: " + observer);
if (old == null) {
try {
@@ -56,6 +57,7 @@ public abstract class AbstractObservable
getLogger().fine("unregistering incoming observer: " + old);
deactivate();
}
+ incomingObserver = observer;
}
}
}