You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2014/06/23 22:00:08 UTC
svn commit: r1604919 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ ui...
Author: challngr
Date: Mon Jun 23 20:00:07 2014
New Revision: 1604919
URL: http://svn.apache.org/r1604919
Log:
UIMA-3904 Enforce authentication and authorization for admin.
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventKill.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/DuccComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccService.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
uima/sandbox/uima-ducc/trunk/uima-ducc-db/src/main/java/org/apache/uima/ducc/db/DbComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/java/org/apache/uima/ducc/ping/SamplePing.java
uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/ProcessManagerComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/config/ProcessManagerConfiguration.java
uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/event/ProcessManagerEventListener.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ResourceManagerComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java Mon Jun 23 20:00:07 2014
@@ -85,7 +85,7 @@ import org.apache.uima.ducc.transport.ev
import org.apache.uima.ducc.transport.event.common.TimeWindow;
public class NodeAgent extends AbstractDuccComponent implements Agent, ProcessLifecycleObserver {
- public DuccLogger logger = DuccLogger.getLogger(this.getClass(), COMPONENT_NAME);
+ public static DuccLogger logger = DuccLogger.getLogger(NodeAgent.class, COMPONENT_NAME);
public static final String ProcessStateUpdatePort = "ducc.agent.process.state.update.port";
@@ -1548,7 +1548,9 @@ public class NodeAgent extends AbstractD
// Delay this thread to make sure that at least one last node inventory publish occurs before Agent goes away. Add extra 30 secs
// to the delay to make sure the publish happens.
synchronized (this) {
- wait(configurationFactory.getNodeInventoryPublishDelay() +30000);
+ long waittime = configurationFactory.getNodeInventoryPublishDelay() +30000;
+ logger.info("stop", null, "Waiting", waittime, "ms to send final NodeInventory.");
+ wait(waittime);
}
super.stop();
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/AgentConfiguration.java Mon Jun 23 20:00:07 2014
@@ -136,7 +136,7 @@ public class AgentConfiguration {
final String targetEndpointToReceiveNodeMetricsUpdate, final int nodeMetricsPublishRate)
throws Exception {
final Processor nmp = nodeMetricsProcessor(agent);
- final Predicate blastFilter = new DuccBlastGuardPredicate(agent.logger);
+ final Predicate blastFilter = new DuccBlastGuardPredicate(agent.getLogger());
final Processor cp = new ConfirmProcessor();
return new RouteBuilder() {
public void configure() {
@@ -172,7 +172,7 @@ public class AgentConfiguration {
public void configure() {
final Predicate bodyNotNull = body().isNotNull();
- final Predicate blastGuard = new DuccBlastGuardPredicate(agent.logger);
+ final Predicate blastGuard = new DuccBlastGuardPredicate(agent.getLogger());
onException(Exception.class).maximumRedeliveries(0).handled(true)
.process(new ErrorProcessor());
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/ManagedUimaService.java Mon Jun 23 20:00:07 2014
@@ -68,7 +68,7 @@ public class ManagedUimaService extends
private String saxonJarPath;
private String dd2SpringXslPath;
private String processJmxUrl = null;
- protected DuccLogger logger;
+ protected static DuccLogger logger;
private String agentStateUpdateEndpoint = "";
public static void main(String[] args) {
@@ -94,9 +94,13 @@ public class ManagedUimaService extends
// ConsoleHandler ch = new ConsoleHandler();
// ch.setFormatter(new UIMALogFormatter());
// l.addHandler(ch);
- logger = new DuccLogger(DuccService.class);
}
+ public DuccLogger getLogger()
+ {
+ return new DuccLogger(DuccService.class);
+ }
+
public void onServiceStateChange(ProcessState state) {
super.notifyAgentWithStatus(state);
}
@@ -428,7 +432,7 @@ public class ManagedUimaService extends
componentsToDelete.add(aeState);
}
}
- service.logger.debug(
+ DuccService.getDuccLogger().debug(
"UimaAEJmxMonitor.run()",
null,
"---- AE Name:" + proxy.getName()
@@ -443,7 +447,7 @@ public class ManagedUimaService extends
}
howManySeenSoFar = 1; // reset error counter
if (updateAgent) {
- service.logger.debug("UimaAEJmxMonitor.run()", null,
+ DuccService.getDuccLogger().debug("UimaAEJmxMonitor.run()", null,
"---- Publishing UimaPipelineAEComponent List - size="
+ aeStateList.size());
try {
@@ -462,7 +466,7 @@ public class ManagedUimaService extends
if (!(e.getCause() instanceof InstanceNotFoundException)) {
if (howManySeenSoFar > 3) { // allow up three errors of this
// kind
- service.logger.info("UimaAEJmxMonitor.run()", null, e);
+ DuccService.getDuccLogger().info("UimaAEJmxMonitor.run()", null, e);
howManySeenSoFar = 1;
throw e;
}
@@ -472,7 +476,7 @@ public class ManagedUimaService extends
}
} catch (Throwable e) {
howManySeenSoFar = 1;
- service.logger.info("UimaAEJmxMonitor.run()", null, e);
+ DuccService.getDuccLogger().info("UimaAEJmxMonitor.run()", null, e);
}
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java Mon Jun 23 20:00:07 2014
@@ -130,7 +130,7 @@ public abstract class CommandExecutor im
maxInitTime = processInfo
.getProcessInitializationTimeMax();
}
- agent.logger.info("CommandExecutor.call",
+ agent.getLogger().info("CommandExecutor.call",
((ManagedProcess) managedProcess).getWorkDuccId(),
"Starting Process Initialization Monitor with Max Process Initialization Time:" + maxInitTime);
((ManagedProcess) managedProcess)
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java Mon Jun 23 20:00:07 2014
@@ -23,7 +23,6 @@ import java.util.List;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
-import org.apache.uima.ducc.cli.IUiOptions.UiOption;
import org.apache.uima.ducc.common.Pair;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java Mon Jun 23 20:00:07 2014
@@ -20,10 +20,36 @@ package org.apache.uima.ducc.common.admi
import java.io.Serializable;
-public abstract class DuccAdminEvent implements Serializable {
+public abstract class DuccAdminEvent implements Serializable
+{
private static final long serialVersionUID = 1753129558912646806L;
-
- public String toString() {
+
+ String user;
+ byte[] auth_block;
+
+ @SuppressWarnings("unused")
+ private DuccAdminEvent() // prevent use of this, only the form with user and auth_block is allowed
+ {
+ }
+
+ protected DuccAdminEvent(String user, byte[] auth_block)
+ {
+ this.user = user;
+ this.auth_block = auth_block;
+ }
+
+ public String getUser()
+ {
+ return user;
+ }
+
+ public byte[] getAuthBlock()
+ {
+ return auth_block;
+ }
+
+ public String toString()
+ {
return this.getClass().getName();
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventKill.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventKill.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventKill.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventKill.java Mon Jun 23 20:00:07 2014
@@ -22,4 +22,8 @@ public class DuccAdminEventKill extends
private static final long serialVersionUID = -8101741014979144426L;
+ public DuccAdminEventKill(String user, byte[] auth)
+ {
+ super(user, auth);
+ }
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEventStopMetrics.java Mon Jun 23 20:00:07 2014
@@ -24,7 +24,9 @@ public class DuccAdminEventStopMetrics e
private String targetNodes = new String();
- public DuccAdminEventStopMetrics(String nodes) {
+ public DuccAdminEventStopMetrics(String nodes, String user, byte[] auth)
+ {
+ super(user, auth);
this.targetNodes = nodes;
}
/**
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java Mon Jun 23 20:00:07 2014
@@ -23,8 +23,9 @@ public class RmAdminQLoad
{
private static final long serialVersionUID = -8101741014979144426L;
- public RmAdminQLoad()
+ public RmAdminQLoad(String user, byte[] auth)
{
+ super(user, auth);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java Mon Jun 23 20:00:07 2014
@@ -23,8 +23,9 @@ public class RmAdminQOccupancy
{
private static final long serialVersionUID = -8101741014979144426L;
- public RmAdminQOccupancy()
+ public RmAdminQOccupancy(String user, byte[] auth)
{
+ super(user, auth);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java Mon Jun 23 20:00:07 2014
@@ -18,8 +18,10 @@
*/
package org.apache.uima.ducc.common.admin.event;
+import java.io.Serializable;
+
public class RmAdminReply
- extends DuccAdminEvent
+ implements Serializable
{
private static final long serialVersionUID = -8101741014979144426L;
String response;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java Mon Jun 23 20:00:07 2014
@@ -24,8 +24,9 @@ public class RmAdminVaryOff
private static final long serialVersionUID = -8101741014979144426L;
String[] nodes;
- public RmAdminVaryOff(String[] nodes)
+ public RmAdminVaryOff(String[] nodes, String user, byte[] auth)
{
+ super(user, auth);
this.nodes = nodes;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java Mon Jun 23 20:00:07 2014
@@ -24,8 +24,9 @@ public class RmAdminVaryOn
private static final long serialVersionUID = -8101741014979144426L;
String[] nodes;
- public RmAdminVaryOn(String[] nodes)
+ public RmAdminVaryOn(String[] nodes, String user, byte[] auth)
{
+ super(user, auth);
this.nodes = nodes;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java Mon Jun 23 20:00:07 2014
@@ -42,11 +42,14 @@ import org.apache.camel.Route;
import org.apache.camel.builder.RouteBuilder;
import org.apache.uima.ducc.common.admin.event.DuccAdminEvent;
import org.apache.uima.ducc.common.admin.event.DuccAdminEventKill;
+import org.apache.uima.ducc.common.crypto.Crypto;
+import org.apache.uima.ducc.common.crypto.Crypto.AccessType;
import org.apache.uima.ducc.common.exception.DuccComponentInitializationException;
import org.apache.uima.ducc.common.exception.DuccConfigurationException;
import org.apache.uima.ducc.common.main.DuccService;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
+import org.apache.uima.ducc.common.utils.LinuxUtils;
import org.apache.uima.ducc.common.utils.Utils;
/**
@@ -79,7 +82,12 @@ public abstract class AbstractDuccCompon
public AbstractDuccComponent(String componentName, CamelContext context) {
this.componentName = componentName;
setContext(context);
- logger = getLogger();
+ logger = getLogger(); // local to avoid global references
+ if ( logger == null ) {
+ System.out.println("Component '" + componentName + "' returned null logger; cannot boot.");
+ System.exit(1);
+ }
+ DuccService.setDuccLogger(logger); // sets the global logger
}
/**
@@ -96,34 +104,26 @@ public abstract class AbstractDuccCompon
throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
- System.out.println("Configuring Admin Channel on Endpoint:" + endpoint);
- onException(Exception.class).handled(true).process(new ErrorProcessor());
-
- from(endpoint).routeId("AdminRoute").unmarshal().xstream()
- .process(new AdminEventProcessor(delegate));
+ logger.info("configure", null, "Configuring Admin Channel on Endpoint:" + endpoint);
+ onException(Exception.class).handled(true).process(new ErrorProcessor());
+
+ from(endpoint).routeId("AdminRoute").unmarshal().xstream()
+ .process(new AdminEventProcessor(delegate));
}
});
- if (logger != null) {
- logger.info("startAdminChannel", null, "Admin Channel Activated on endpoint:" + endpoint);
- }
- }
-
- public DuccLogger getLogger() {
- return null; // ducc components can override this
+ logger.info("startAdminChannel", null, "Admin Channel Activated on endpoint:" + endpoint);
}
public class ErrorProcessor implements Processor {
- public void process(Exchange exchange) throws Exception {
- // the caused by exception is stored in a property on the exchange
- Throwable caused = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
- caused.printStackTrace();
- if (logger != null) {
- logger.error("ErrorProcessor.process()", null, caused);
-
+ public void process(Exchange exchange) throws Exception {
+ // the caused by exception is stored in a property on the exchange
+ Throwable caused = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
+ caused.printStackTrace();
+ logger.error("ErrorProcessor.process()", null, caused);
+
}
- }
}
/**
@@ -204,9 +204,7 @@ public abstract class AbstractDuccCompon
if (duccBrokerUrlDecoration != null && duccBrokerUrlDecoration.trim().length() > 0) {
burl.append("?").append(duccBrokerUrlDecoration);
}
- if (logger != null) {
- logger.info("composeBrokerUrl", null, "Ducc Composed Broker URL:" + System.getProperty("ducc.broker.url"));
- }
+ logger.info("composeBrokerUrl", null, "Ducc Composed Broker URL:" + System.getProperty("ducc.broker.url"));
System.setProperty("ducc.broker.url", burl.toString());
}
@@ -244,64 +242,94 @@ public abstract class AbstractDuccCompon
return context;
}
+ /**
+ * Is the event apparently issue by a DUCC registered admin or not?
+ */
+ private boolean validateAdministrator(DuccAdminEvent event)
+ {
+ String methodName = "validate_user";
+
+ String user = event.getUser();
+ byte[] auth_block= event.getAuthBlock();
+
+ try {
+ String userHome = null;
+ userHome = LinuxUtils.getUserHome(user);
+
+ Crypto crypto = new Crypto(user, userHome,AccessType.READER);
+ String signature = (String)crypto.decrypt(auth_block);
+
+ if ( ! user.equals(signature )) {
+ return false;
+ }
+
+ } catch ( Throwable t ) {
+ logger.error(methodName, null, "Crypto failure:", t.toString());
+ return false;
+ }
+
+ if ( ! user.equals(System.getProperty("user.name")) ) {
+ logger.warn(methodName, null, user, "is not DUCC process owner.");
+ return false;
+ }
+
+ return true;
+ }
+
/**
* Called when DuccAdminEvent is received on the Ducc Admin Channel
*
* @param event
* - admin event
*/
- public void onDuccAdminKillEvent(DuccAdminEvent event) throws Exception {
- if (logger != null) {
- logger.info("onDuccAdminKillEvent", null,"\n\tDucc Process:" + componentName
- + " Received Kill Event - Cleaning Up and Stopping\n");
- }
- stop();
- System.exit(2);
+ public void onDuccAdminKillEvent(DuccAdminEvent event) throws Exception
+ {
+ String methodName = "onDuccAdminKillEvent";
+ logger.info("onDuccAdminKillEvent", null,"\n\tDucc Process:" + componentName);
+ if ( ! validateAdministrator(event) ) {
+ logger.info(methodName, null, "Failed authentication/authorization Ignoring shutdown event.");
+ return;
+ }
+ logger.info(methodName, null, "Received Kill Event - Cleaning Up and Stopping");
+ stop();
+ System.exit(2);
}
public void start(DuccService service) throws Exception {
start(service, null);
}
-
+
public void start(DuccService service, String[] args) throws Exception {
String endpoint = null;
this.service = service;
if (System.getProperty("ducc.deploy.components") != null
&& !System.getProperty("ducc.deploy.components").equals("uima-as")
&& (endpoint = System.getProperty("ducc.admin.endpoint")) != null) {
- if (logger != null) {
logger.info("start", null, ".....Starting Admin Channel on endpoint:" + endpoint);
- }
- startAdminChannel(endpoint, this);
- System.out.println(".....Starting Admin Channel on endpoint:" + endpoint);
- }
- if (logger != null) {
- logger.info("start",null, ".....Starting Camel Context");
+ startAdminChannel(endpoint, this);
+ logger.info("start", null, "Admin Channel started on endpoint:" + endpoint);
}
+ logger.info("start",null, ".....Starting Camel Context");
// Start Camel
context.start();
List<Route> routes = context.getRoutes();
for( Route route : routes ) {
context.startRoute(route.getId());
- if (logger != null) {
- logger.info("start",null, "---OR Route in Camel Context-"+route.getEndpoint().getEndpointUri()+" Route State:"+context.getRouteStatus(route.getId()));
- }
- }
- if (logger != null) {
- logger.info("start",null, "..... Camel Initialized and Started");
+ logger.info("start",null, "---OR Route in Camel Context-"+route.getEndpoint().getEndpointUri()+" Route State:"+context.getRouteStatus(route.getId()));
}
+ logger.info("start",null, "..... Camel Initialized and Started");
+
// Instrument this process with JMX Agent. The Agent will
// find an open port and start JMX Connector allowing
// jmx clients to connect to this jvm using standard
// jmx connect url. This process does not require typical
// -D<jmx params> properties. Currently the JMX does not
// use security allowing all clients to connect.
- if (logger != null) {
- logger.info("start",null, "..... Starting JMX Agent");
- }
+
+ logger.info("start",null, "..... Starting JMX Agent");
processJmxUrl = startJmxAgent();
- if (logger != null && processJmxUrl != null && processJmxUrl.trim().length() > 0 ) {
+ if (processJmxUrl != null && processJmxUrl.trim().length() > 0 ) {
logger.info("start",null, "..... JMX Agent Ready");
logger.info("start",null, "Connect jConsole to this process using JMX URL:" + processJmxUrl);
}
@@ -323,94 +351,77 @@ public abstract class AbstractDuccCompon
return processJmxUrl;
}
- public void stop() throws Exception {
+ public void stop()
+ throws Exception
+ {
+ String methodName = "stop";
+
synchronized (monitor) {
if (stopping) {
- return;
+ return;
}
stopping = true;
- }
- if (getLogger() != null) {
- logger = getLogger();
- }
- if (logger == null) {
- System.out.println("----------stop() called");
- } else {
- logger.info("stop", null, "----------stop() called");
- }
-
- try {
- if (logger == null) {
- System.out.println("Stopping Camel Routes");
- } else {
- logger.info("stop", null, "Stopping Camel Routes");
- }
-
- List<Route> routes = context.getRoutes();
- for (Route route : routes) {
- route.getConsumer().stop();
- route.getEndpoint().stop();
}
+ logger.info(methodName, null, "----------stop() called");
+
+ try {
+ logger.info(methodName, null, "Stopping Camel Routes");
+ List<Route> routes = context.getRoutes();
+ for (Route route : routes) {
+ route.getConsumer().stop();
+ route.getEndpoint().stop();
+ }
- ActiveMQComponent amqc = (ActiveMQComponent) context.getComponent("activemq");
- amqc.stop();
- amqc.shutdown();
-
- if (logger == null) {
- System.out.println("Stopping Camel Context");
- } else {
- logger.info("stop", null, "Stopping Camel Context");
- }
- context.stop();
- if (logger == null) {
- System.out.println("Camel Context Stopped");
- } else {
- logger.info("stop", null, "Camel Context Stopped");
- }
+ ActiveMQComponent amqc = (ActiveMQComponent) context.getComponent("activemq");
+ amqc.stop();
+ amqc.shutdown();
+
+ logger.info(methodName, null, "Stopping Camel Context");
+ context.stop();
+ logger.info(methodName, null, "Camel Context Stopped");
+
+ ObjectName name = new ObjectName(
+ "org.apache.uima.ducc.service.admin.jmx:type=DuccComponentMBean,name="
+ + getClass().getSimpleName());
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ Set<?> set = mbs.queryMBeans(name, null);
+ if (set.size() > 0) {
+ mbs.unregisterMBean(name);
+ }
- ObjectName name = new ObjectName(
- "org.apache.uima.ducc.service.admin.jmx:type=DuccComponentMBean,name="
- + getClass().getSimpleName());
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
- Set<?> set = mbs.queryMBeans(name, null);
- if (set.size() > 0) {
- mbs.unregisterMBean(name);
- }
+ if (jmxConnector != null) {
+ jmxConnector.stop();
+ }
- if (jmxConnector != null) {
- jmxConnector.stop();
- }
+ if (service != null) {
+ service.stop();
+ }
+ logger.info(methodName, null, "Component cleanup completed - terminating process");
- if (service != null) {
- service.stop();
- }
- if (logger == null) {
- System.out.println("Component cleanup completed - terminating process");
- } else {
- logger.info("stop", null, "Component cleanup completed - terminating process");
+ } catch (Exception e) {
+ // It's a sensitive time, let's emit twice just for luck
+ System.out.println("----------------------------------------------------------------------------------------------------");
+ e.printStackTrace();
+ System.out.println("----------------------------------------------------------------------------------------------------");
+ logger.error(methodName, null, e);
}
-
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- long waitTime=0;
- if ( System.getProperty("WaitTime") != null) {
- try {
- synchronized( this ) {
- waitTime = Long.valueOf(System.getProperty("WaitTime"));
- if ( waitTime > 0) {
- wait(waitTime);
- }
- }
- } catch( Exception e) {
+
+ long waitTime=0;
+ if ( System.getProperty("WaitTime") != null) {
+ try {
+ synchronized( this ) {
+ waitTime = Long.valueOf(System.getProperty("WaitTime"));
+ if ( waitTime > 0) {
+ wait(waitTime);
+ }
+ }
+ } catch( Exception e) {
- }
+ }
- }
- // System.exit(0);
- }
+ }
+ // System.exit(0);
+ }
public void handleUncaughtException(Exception e) {
e.printStackTrace();
@@ -460,9 +471,7 @@ public abstract class AbstractDuccCompon
jmxConnector.start();
} catch (Exception e) {
url = null;
- if ( logger != null ) {
- logger.error("startJmxAgent", null, "Unable to Start JMX Connector. Running with *No* JMX Connectivity");
- }
+ logger.error("startJmxAgent", null, "Unable to Start JMX Connector. Running with *No* JMX Connectivity");
}
if ( url == null ) {
return ""; // empty string
@@ -488,15 +497,11 @@ public abstract class AbstractDuccCompon
}
public void process(final Exchange exchange) throws Exception {
- System.out.println("Component: Received Admin Message of type:"+exchange.getIn().getBody().getClass().getName());
-
- if (logger != null) {
-
logger.info("AdminEventProcessor.process()", null, "Received Admin Message of Type:"
- + exchange.getIn().getBody().getClass().getName());
- }
- if (exchange.getIn().getBody() instanceof DuccAdminEventKill) {
- // start a new thread to process the admin kill event. Need to do this
+ + exchange.getIn().getBody().getClass().getName());
+
+ if (exchange.getIn().getBody() instanceof DuccAdminEventKill) {
+ // start a new thread to process the admin kill event. Need to do this
// so that Camel thread associated with admin channel can go back to
// its pool. Otherwise, we will not be able to stop the admin channel.
Thread th = new Thread(new Runnable() {
@@ -532,9 +537,8 @@ public abstract class AbstractDuccCompon
public void run() {
try {
- if (logger != null) {
logger.info("start",null, "DUCC Service Caught Kill Signal - Registering Killer Task and Stopping ...");
- }
+
// schedule a kill task which will kill this process after 1 minute
Timer killTimer = new Timer();
killTimer.schedule(new KillerThreadTask(logger), 60 * 1000);
@@ -555,9 +559,8 @@ public abstract class AbstractDuccCompon
}
public void run() {
try {
- if (logger != null) {
logger.info("start",null,"Process is about to kill itself via Runtime.getRuntime().halt()");
- }
+
// Take the jvm down hard. This call will not
// invoke registered ShutdownHooks and just
// terminates the jvm.
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/DuccComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/DuccComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/DuccComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/DuccComponent.java Mon Jun 23 20:00:07 2014
@@ -19,10 +19,12 @@
package org.apache.uima.ducc.common.component;
import org.apache.camel.CamelContext;
+import org.apache.uima.ducc.common.utils.DuccLogger;
public interface DuccComponent extends DuccLifecycle {
public void setContext( CamelContext context);
public CamelContext getContext();
public void cleanup(Throwable reason);
public void handleUncaughtException(Exception e);
+ public DuccLogger getLogger();
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java Mon Jun 23 20:00:07 2014
@@ -49,9 +49,11 @@ import org.apache.uima.ducc.common.admin
import org.apache.uima.ducc.common.authentication.BrokerCredentials;
import org.apache.uima.ducc.common.authentication.BrokerCredentials.Credentials;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
+import org.apache.uima.ducc.common.crypto.Crypto;
import org.apache.uima.ducc.common.launcher.ssh.DuccRemoteLauncher;
import org.apache.uima.ducc.common.launcher.ssh.DuccRemoteLauncher.ProcessCompletionCallback;
import org.apache.uima.ducc.common.launcher.ssh.DuccRemoteLauncher.ProcessCompletionResult;
+import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.Utils;
import com.thoughtworks.xstream.XStream;
@@ -63,6 +65,7 @@ import com.thoughtworks.xstream.XStream;
* DuccAdmin -killAll - stops all Ducc components
* DuccAdmin -quiesceAgents <node1,node2..>- quiesces named nodes
*/
+
public class DuccAdmin extends AbstractDuccComponent implements
ProcessCompletionCallback {
public static final String FileSeparator = System
@@ -134,6 +137,11 @@ public class DuccAdmin extends AbstractD
}
}
+ public DuccLogger getLogger()
+ {
+ return new DuccLogger("Admin");
+ }
+
/**
* Sends the DuccAdminEvent (serialized as String) to the admin endpoint
*
@@ -208,12 +216,20 @@ public class DuccAdmin extends AbstractD
// send kill event to all Ducc components via Ducc Admin Channel. This
// call is
// non-blocking
- dispatch(serializeAdminEvent(new DuccAdminEventKill()));
+ String user = System.getProperty("user.name");
+ Crypto crypto = new Crypto(user,System.getProperty("user.home"));
+ byte[] cypheredMessage = crypto.encrypt(user);
+
+ dispatch(serializeAdminEvent(new DuccAdminEventKill(user, cypheredMessage)));
System.out.println("DuccAdmin sent Kill to all Ducc processes ...");
}
private void quiesceAgents(String nodes) throws Exception {
- dispatch(serializeAdminEvent(new DuccAdminEventStopMetrics(nodes)));
+ String user = System.getProperty("user.name");
+ Crypto crypto = new Crypto(user,System.getProperty("user.home"));
+ byte[] cypheredMessage = crypto.encrypt(user);
+
+ dispatch(serializeAdminEvent(new DuccAdminEventStopMetrics(nodes, user, cypheredMessage)));
System.out.println("DuccAdmin sent Quiesce request to Ducc Agents ...");
}
/**
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java Mon Jun 23 20:00:07 2014
@@ -39,7 +39,9 @@ import org.apache.uima.ducc.common.admin
import org.apache.uima.ducc.common.authentication.BrokerCredentials;
import org.apache.uima.ducc.common.authentication.BrokerCredentials.Credentials;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
+import org.apache.uima.ducc.common.crypto.Crypto;
import org.apache.uima.ducc.common.exception.DuccRuntimeException;
+import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.Utils;
import com.thoughtworks.xstream.XStream;
@@ -54,6 +56,9 @@ public class DuccRmAdmin
private ProducerTemplate pt;
private String targetEndpoint;
+ String user;
+ byte[] cypheredMessage;
+
public DuccRmAdmin(CamelContext context, String epname)
{
super("DuccServiceReaper", context);
@@ -111,6 +116,11 @@ public class DuccRmAdmin
}
}
+ public DuccLogger getLogger()
+ {
+ return new DuccLogger("Admin");
+ }
+
private String marshallEvent(DuccAdminEvent duccEvent)
throws Exception
{
@@ -187,7 +197,7 @@ public class DuccRmAdmin
String[] nodes = new String[args.length - 1];
for ( int i = 1; i < args.length; i++) nodes[i-1] = args[i]; // take a slice of the array
- RmAdminVaryOff vo = new RmAdminVaryOff(nodes);
+ RmAdminVaryOff vo = new RmAdminVaryOff(nodes, user, cypheredMessage);
RmAdminReply reply = dispatchAndWaitForReply(vo);
System.out.println(reply.getResponse());
}
@@ -203,7 +213,7 @@ public class DuccRmAdmin
String[] nodes = new String[args.length - 1];
for ( int i = 1; i < args.length; i++) nodes[i-1] = args[i]; // take a slice of the array
- RmAdminVaryOn vo = new RmAdminVaryOn(nodes);
+ RmAdminVaryOn vo = new RmAdminVaryOn(nodes, user, cypheredMessage);
RmAdminReply reply = dispatchAndWaitForReply(vo);
System.out.println(reply.getResponse());
}
@@ -216,8 +226,7 @@ public class DuccRmAdmin
public RmAdminQLoadReply qload()
throws Exception
{
-
- RmAdminQLoad ql = new RmAdminQLoad();
+ RmAdminQLoad ql = new RmAdminQLoad(user, cypheredMessage);
return (RmAdminQLoadReply) dispatchAndWaitForReply(ql);
}
@@ -229,7 +238,7 @@ public class DuccRmAdmin
public RmAdminQOccupancyReply qoccupancy()
throws Exception
{
- RmAdminQOccupancy qo = new RmAdminQOccupancy();
+ RmAdminQOccupancy qo = new RmAdminQOccupancy(user, cypheredMessage);
return (RmAdminQOccupancyReply) dispatchAndWaitForReply(qo);
}
@@ -237,6 +246,11 @@ public class DuccRmAdmin
public void run(String[] args)
throws Exception
{
+
+ user = System.getProperty("user.name");
+ Crypto crypto = new Crypto(user,System.getProperty("user.home"));
+ cypheredMessage = crypto.encrypt(user);
+
if ( args[0].equals("--varyoff")) {
if ( args.length < 2 ) usage("Missing node list");
varyoff(args);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccService.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccService.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccService.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccService.java Mon Jun 23 20:00:07 2014
@@ -56,21 +56,36 @@ public class DuccService extends Abstrac
public static final String DUCC_DEPLOY_COMPONENTS="ducc.deploy.components";
private Main main;
- private DuccLogger logger;
- private ApplicationContext context;
- Map<String,AbstractDuccComponent> duccComponents = null;
+ private static DuccLogger globalLogger = null;
+ private ApplicationContext context;
+ Map<String,AbstractDuccComponent> duccComponents = null;
public DuccService() {
super("");
-
- /**
- * Initialize the DuccLogger AFTER the properties are set.
- */
- logger = new DuccLogger(DuccService.class);
// Plugin UncaughtExceptionHandler to handle OOM and any
// unhandled runtime exceptions
Thread.currentThread().setUncaughtExceptionHandler(this);
}
+
+ public static DuccLogger getDuccLogger()
+ {
+ return globalLogger;
+ }
+
+ public static void setDuccLogger(DuccLogger l)
+ {
+ globalLogger = l;
+ }
+
+ public DuccLogger getLogger()
+ {
+ if ( getDuccLogger() == null ) {
+ return new DuccLogger(DuccService.class);
+ } else {
+ return getDuccLogger();
+ }
+ }
+
/**
* Exits process if given configuration class is either null or not set (empty).
*
@@ -134,17 +149,17 @@ public class DuccService extends Abstrac
context.getBeansOfType(AbstractDuccComponent.class);
// Start all components
for(Map.Entry<String, AbstractDuccComponent> duccComponent: duccComponents.entrySet()) {
- logger.info(methodName, null, "... Starting Component: ", duccComponent.getKey());
+ getDuccLogger().info(methodName, null, "... Starting Component: ", duccComponent.getKey());
if ( args != null && args.length > 0 ) {
duccComponent.getValue().start(this,args);
} else {
duccComponent.getValue().start(this);
}
- logger.info(methodName, null, "... Component started: ", duccComponent.getKey());
+ getDuccLogger().info(methodName, null, "... Component started: ", duccComponent.getKey());
}
// run until you terminate the JVM
- logger.info(methodName, null, "Starting Camel. Use ctrl + c to terminate the JVM.\n");
+ getDuccLogger().info(methodName, null, "Starting Camel. Use ctrl + c to terminate the JVM.\n");
main.run();
}
@@ -166,7 +181,7 @@ public class DuccService extends Abstrac
ctx.stop();
}
main.stop();
- logger.shutdown();
+ getDuccLogger().shutdown();
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java Mon Jun 23 20:00:07 2014
@@ -80,6 +80,7 @@ public class DuccLogger
//
// If all else fails, set it to "DUCC"
//
+ System.out.println("Creating logger '" + claz + "' with component " + component);
if ( component == null ) {
component = (String) MDC.get("COMPONENT");
if ( component == null ) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-db/src/main/java/org/apache/uima/ducc/db/DbComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-db/src/main/java/org/apache/uima/ducc/db/DbComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-db/src/main/java/org/apache/uima/ducc/db/DbComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-db/src/main/java/org/apache/uima/ducc/db/DbComponent.java Mon Jun 23 20:00:07 2014
@@ -57,7 +57,12 @@ implements IDbComponent {
super("DB Daemon", context);
initialize();
}
-
+
+ public DuccLogger getLogger()
+ {
+ return logger;
+ }
+
public DbPortal getDbPortal() {
return dbPortal;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/java/org/apache/uima/ducc/ping/SamplePing.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/java/org/apache/uima/ducc/ping/SamplePing.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/java/org/apache/uima/ducc/ping/SamplePing.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-examples/src/main/java/org/apache/uima/ducc/ping/SamplePing.java Mon Jun 23 20:00:07 2014
@@ -45,7 +45,6 @@ import org.apache.uima.ducc.cli.ServiceS
import org.apache.uima.ducc.cli.UimaAsServiceMonitor;
import org.apache.uima.ducc.common.IServiceStatistics;
import org.apache.uima.ducc.common.TcpStreamHandler;
-import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Level;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/ProcessManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/ProcessManagerComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/ProcessManagerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/ProcessManagerComponent.java Mon Jun 23 20:00:07 2014
@@ -33,7 +33,6 @@ import org.apache.uima.ducc.common.utils
import org.apache.uima.ducc.transport.cmdline.ICommandLine;
import org.apache.uima.ducc.transport.cmdline.JavaCommandLine;
import org.apache.uima.ducc.transport.dispatcher.DuccEventDispatcher;
-import org.apache.uima.ducc.transport.event.AbstractDuccEvent;
import org.apache.uima.ducc.transport.event.DuccEvent;
import org.apache.uima.ducc.transport.event.DuccJobsStateEvent;
import org.apache.uima.ducc.transport.event.PmStateDuccEvent;
@@ -64,7 +63,7 @@ implements ProcessManager {
private static String header;
private static String tbl=String.format("%1$-158s"," ").replace(" ", "-");
- public DuccLogger logger = new DuccLogger(this.getClass(), DuccComponent);
+ public static DuccLogger logger = new DuccLogger(ProcessManagerComponent.class, DuccComponent);
// Dispatch component used to send messages to remote Agents
private DuccEventDispatcher eventDispatcher;
private int shareQuantum;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/config/ProcessManagerConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/config/ProcessManagerConfiguration.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/config/ProcessManagerConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/config/ProcessManagerConfiguration.java Mon Jun 23 20:00:07 2014
@@ -159,7 +159,7 @@ public class ProcessManagerConfiguration
return new RouteBuilder() {
public void configure() {
String methodName = "configure";
- final Predicate blastGuard = new DuccBlastGuardPredicate(pm.logger);
+ final Predicate blastGuard = new DuccBlastGuardPredicate(pm.getLogger());
logger.trace(methodName, null,"timer:pmStateDumpTimer?fixedRate=true&period=" + statePublishRate);
logger.trace(methodName, null,"endpoint=" + targetEndpointToReceiveProcessManagerStateUpdate);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/event/ProcessManagerEventListener.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/event/ProcessManagerEventListener.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/event/ProcessManagerEventListener.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-pm/src/main/java/org/apache/uima/ducc/pm/event/ProcessManagerEventListener.java Mon Jun 23 20:00:07 2014
@@ -54,7 +54,7 @@ implements DuccEventDelegateListener {
public void onJobManagerStateUpdate(@Body OrchestratorStateDuccEvent duccEvent) {
// process OR state only if the JD has been assigned
if ( !duccEvent.getWorkMap().isJobDriverNodeAssigned() ) {
- ((ProcessManagerComponent)processManager).logger.info("onJobManagerStateUpdate", null, "Orchestrator JD node not assigned. Ignoring Orchestrator state update");
+ ((ProcessManagerComponent)processManager).getLogger().info("onJobManagerStateUpdate", null, "Orchestrator JD node not assigned. Ignoring Orchestrator state update");
return;
}
processManager.dispatchStateUpdateToAgents(duccEvent.getWorkMap().getMap(), duccEvent.getSequence());
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ResourceManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ResourceManagerComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ResourceManagerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ResourceManagerComponent.java Mon Jun 23 20:00:07 2014
@@ -25,7 +25,6 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.uima.ducc.common.admin.event.DuccAdminEvent;
import org.apache.uima.ducc.common.admin.event.RmAdminQLoad;
import org.apache.uima.ducc.common.admin.event.RmAdminQOccupancy;
import org.apache.uima.ducc.common.admin.event.RmAdminReply;
@@ -137,7 +136,7 @@ public class ResourceManagerComponent
Object body = exchange.getIn().getBody();
logger.info(methodName, null, "Received Admin Message of Type:", body.getClass().getName());
- DuccAdminEvent reply = null;
+ RmAdminReply reply = null;
if (body instanceof RmAdminVaryOff) {
RmAdminVaryOff vo = (RmAdminVaryOff) body;
reply = new RmAdminReply(scheduler.varyoff(vo.getNodes()));
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java?rev=1604919&r1=1604918&r2=1604919&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java Mon Jun 23 20:00:07 2014
@@ -130,7 +130,11 @@ public class ServiceManagerComponent
handler = new ServiceHandler(this);
}
-
+ public DuccLogger getLogger()
+ {
+ return logger;
+ }
+
/**
* Initialization tasks:
* - read all the service descriptors