Author: ay Date: Wed Feb 20 13:00:19 2013 New Revision: 1448142 URL: http://svn.apache.org/r1448142 Log: Merged revisions 1448140 via svn merge from https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
........ r1448140 | ay | 2013-02-20 13:57:29 +0100 (Wed, 20 Feb 2013) | 9 lines Merged revisions 1447862 via svn merge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1447862 | ay | 2013-02-19 19:40:43 +0100 (Tue, 19 Feb 2013) | 1 line [CXF-4838] Server-side EP may throw NPE when a request message arrives while the EP is being stopped ... ........ ........ Modified: cxf/branches/2.6.x-fixes/ (props changed) cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java Propchange: cxf/branches/2.6.x-fixes/ ('svn:mergeinfo' removed) Propchange: cxf/branches/2.6.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java?rev=1448142&r1=1448141&r2=1448142&view=diff ============================================================================== --- cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java (original) +++ cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/transport/AbstractObservable.java Wed Feb 20 13:00:19 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; } } }
