diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-03-07 16:36:26 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-03-07 16:36:26 +0000 |
| commit | 9e9d87a76f12567c2e0f65485bbf85b39fc6e437 (patch) | |
| tree | e8caf31a36a4618fbaa33b765ca68f9c48942226 /qpid/java/bdbstore/src | |
| parent | 735d2fbd9b1cf73410363d23591d50fe34c61dc4 (diff) | |
| download | qpid-python-9e9d87a76f12567c2e0f65485bbf85b39fc6e437.tar.gz | |
QPID-5611 : [Java Broker] remove LogActors
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1575315 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src')
| -rw-r--r-- | qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java index 7f119880b0..d61da537f3 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java @@ -21,6 +21,7 @@ package org.apache.qpid.server.store.berkeleydb; import java.io.File; import java.net.InetSocketAddress; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -35,10 +36,9 @@ import java.util.concurrent.Executors; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; +import org.apache.qpid.server.security.SecurityManager; +import org.apache.qpid.server.security.auth.TaskPrincipal; import org.apache.qpid.server.store.StoreException; -import org.apache.qpid.server.logging.RootMessageLogger; -import org.apache.qpid.server.logging.actors.AbstractActor; -import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.HAMessageStore; import org.apache.qpid.server.store.MessageStore; @@ -66,6 +66,8 @@ import com.sleepycat.je.rep.StateChangeEvent; import com.sleepycat.je.rep.StateChangeListener; import com.sleepycat.je.rep.util.ReplicationGroupAdmin; +import javax.security.auth.Subject; + public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMessageStore { private static final Logger LOGGER = Logger.getLogger(BDBHAMessageStore.class); @@ -608,7 +610,6 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess private void executeStateChangeAsync(final Callable<Void> callable, final String threadName) { - final RootMessageLogger _rootLogger = CurrentActor.get().getRootMessageLogger(); _executor.execute(new Runnable() { @@ -618,25 +619,28 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess { final String originalThreadName = Thread.currentThread().getName(); Thread.currentThread().setName(threadName); + Subject subject = new Subject(false, SecurityManager.SYSTEM.getPrincipals(), + Collections.emptySet(), Collections.emptySet()); + subject.getPrincipals().add(new TaskPrincipal("BDB HA State Change")); try { - CurrentActor.set(new AbstractActor(_rootLogger) + Subject.doAs(subject, new PrivilegedAction<Object>() { @Override - public String getLogMessage() + public Object run() { - return threadName; + + try + { + callable.call(); + } + catch (Exception e) + { + LOGGER.error("Exception during state change", e); + } + return null; } }); - - try - { - callable.call(); - } - catch (Exception e) - { - LOGGER.error("Exception during state change", e); - } } finally { |
