Author: dkulp
Date: Tue Jun 5 18:57:34 2012
New Revision: 1346532
URL: http://svn.apache.org/viewvc?rev=1346532&view=rev
Log:
When the AtomPushHandler is closed, wait for a bit to see if the events
can be flushed and delivered to avoid potential System.err messages
Modified:
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushEngine.java
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushHandler.java
Modified:
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushEngine.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushEngine.java?rev=1346532&r1=1346531&r2=1346532&view=diff
==============================================================================
---
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushEngine.java
(original)
+++
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushEngine.java
Tue Jun 5 18:57:34 2012
@@ -25,6 +25,7 @@ import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
import org.apache.abdera.model.Element;
import org.apache.commons.lang.Validate;
@@ -96,6 +97,15 @@ final class AtomPushEngine {
publishAndReset();
}
executor.shutdown();
+
+ try {
+ //wait a little to try and flush the batches
+ //it's not critical, but can avoid errors on the
+ //console and such which could be confusing
+ executor.awaitTermination(20, TimeUnit.SECONDS);
+ } catch (InterruptedException e) {
+ //ignore
+ }
}
private boolean isValid() {
Modified:
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushHandler.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushHandler.java?rev=1346532&r1=1346531&r2=1346532&view=diff
==============================================================================
---
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushHandler.java
(original)
+++
cxf/trunk/rt/management-web/src/main/java/org/apache/cxf/management/web/logging/atom/AtomPushHandler.java
Tue Jun 5 18:57:34 2012
@@ -142,6 +142,9 @@ public final class AtomPushHandler exten
lazyConfig = false;
configure();
}
+ if (engine == null) {
+ return;
+ }
LogRecord rec = LogRecord.fromJUL(record);
engine.publish(rec);
} finally {
@@ -151,7 +154,10 @@ public final class AtomPushHandler exten
@Override
public synchronized void close() throws SecurityException {
- engine.shutdown();
+ if (engine != null) {
+ engine.shutdown();
+ }
+ engine = null;
}
@Override