You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/06/22 20:00:34 UTC
svn commit: r1604625 -
/logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java
Author: mattsicker
Date: Sun Jun 22 18:00:34 2014
New Revision: 1604625
URL: http://svn.apache.org/r1604625
Log:
Use AtomicBoolean instead of synchronization.
Modified:
logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java
Modified: logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java?rev=1604625&r1=1604624&r2=1604625&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java (original)
+++ logging/log4j/log4j2/trunk/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/couchdb/CouchDBConnection.java Sun Jun 22 18:00:34 2014
@@ -17,6 +17,7 @@
package org.apache.logging.log4j.nosql.appender.couchdb;
import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.logging.log4j.core.appender.AppenderLoggingException;
import org.apache.logging.log4j.nosql.appender.NoSQLConnection;
@@ -29,7 +30,7 @@ import org.lightcouch.Response;
*/
public final class CouchDBConnection implements NoSQLConnection<Map<String, Object>, CouchDBObject> {
private final CouchDbClient client;
- private boolean closed = false;
+ private final AtomicBoolean closed = new AtomicBoolean(false);
public CouchDBConnection(final CouchDbClient client) {
this.client = client;
@@ -60,13 +61,14 @@ public final class CouchDBConnection imp
}
@Override
- public synchronized void close() {
- this.closed = true;
- this.client.shutdown();
+ public void close() {
+ if (this.closed.compareAndSet(false, true)) {
+ this.client.shutdown();
+ }
}
@Override
- public synchronized boolean isClosed() {
- return this.closed;
+ public boolean isClosed() {
+ return this.closed.get();
}
}