From 9e9d87a76f12567c2e0f65485bbf85b39fc6e437 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Fri, 7 Mar 2014 16:36:26 +0000 Subject: QPID-5611 : [Java Broker] remove LogActors git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1575315 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/store/berkeleydb/BDBHAMessageStore.java | 36 ++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'qpid/java/bdbstore/src') 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 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() { @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 { -- cgit v1.2.1