You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2014/11/20 12:45:06 UTC
svn commit: r1640725 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd:
JobDriverComponent.java JobDriverConfiguration.java
JobDriverEventListener.java iface/IJobDriverComponent.java
Author: degenaro
Date: Thu Nov 20 11:45:05 2014
New Revision: 1640725
URL: http://svn.apache.org/r1640725
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for container (system) code.
JobDriverProcesses - receives Jp requests and returns Jd responses.
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java Thu Nov 20 11:45:05 2014
@@ -34,7 +34,6 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.mh.IMessageHandler;
import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
-import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Direction;
import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
import org.apache.uima.ducc.transport.event.jd.IDriverStatusReport;
@@ -121,10 +120,9 @@ implements IJobDriverComponent {
}
@Override
- public void onJpRequestDuccEvent(IMetaCasTransaction metaCasTransaction) throws Exception {
- String location = "onJpRequestDuccEvent";
+ public void handleJpRequest(IMetaCasTransaction metaCasTransaction) throws Exception {
+ String location = "handleJpRequest";
try {
- metaCasTransaction.setDirection(Direction.Response);
IMessageHandler mh = JobDriver.getInstance().getMessageHandler();
mh.handleMetaCasTransation(metaCasTransaction);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java Thu Nov 20 11:45:05 2014
@@ -30,7 +30,6 @@ import org.apache.uima.ducc.common.utils
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction.Direction;
-import org.apache.uima.ducc.container.net.impl.MetaCas;
import org.apache.uima.ducc.container.net.impl.MetaCasTransaction;
import org.apache.uima.ducc.transport.DuccTransportConfiguration;
import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
@@ -110,9 +109,10 @@ import org.springframework.context.annot
};
}
- private RouteBuilder routeBuilderForJpIncomingRequests(final CamelContext camelContext, final int port, final String app) throws Exception {
+ private RouteBuilder routeBuilderForJpIncomingRequests(final JobDriverComponent jdc, final int port, final String app) throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
+ CamelContext camelContext = jdc.getContext();
JettyHttpComponent jetty = new JettyHttpComponent();
jetty.setMaxThreads(4); // Need to parameterize
jetty.setMinThreads(1);
@@ -120,28 +120,27 @@ import org.springframework.context.annot
// listen on all interfaces.
from("jetty:http://0.0.0.0:" + port + "/"+app)
.unmarshal().xstream().
- process(new JobDriverProcessor()).marshal().xstream();
+ process(new JobDriverProcessor(jdc)).marshal().xstream();
}
};
}
public static class JobDriverProcessor implements Processor {
+ private IJobDriverComponent jdc;
+
+ private JobDriverProcessor(IJobDriverComponent jdc) {
+ this.jdc = jdc;
+ }
public void process(Exchange exchange) throws Exception {
// Get the transaction object sent by the JP
IMetaCasTransaction imt =
exchange.getIn().getBody(MetaCasTransaction.class);
- //
- // do all processing here
- //
+ // process JP's request
+ jdc.handleJpRequest(imt);
// setup reply
imt.setDirection(Direction.Response);
- String key = "XMI CAS"; // whatever
- String xmi = new String("Blob"); // for testing
- // Add serialized CAS to the outgoing message
- MetaCas metaCas = new MetaCas(1, key, xmi);
- imt.setMetaCas(metaCas);
exchange.getOut().setHeader("content-type", "text/xml");
// ship it!
@@ -189,7 +188,7 @@ import org.springframework.context.annot
int port = Utils.findFreePort();
String jdUniqueId = "jdApp";
- jdc.getContext().addRoutes(this.routeBuilderForJpIncomingRequests(jdc.getContext(), port, jdUniqueId));
+ jdc.getContext().addRoutes(this.routeBuilderForJpIncomingRequests(jdc, port, jdUniqueId));
logger.debug(location, jobid, "endpoint: "+common.jdStateUpdateEndpoint+" "+"rate: "+common.jdStatePublishRate);
jdc.getContext().addRoutes(this.routeBuilderForJdStatePost(jdc, common.jdStateUpdateEndpoint, Integer.parseInt(common.jdStatePublishRate)));
return jdc;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverEventListener.java Thu Nov 20 11:45:05 2014
@@ -19,7 +19,6 @@
package org.apache.uima.ducc.transport.configuration.jd;
import org.apache.camel.Body;
-import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
import org.apache.uima.ducc.transport.dispatcher.DuccEventDispatcher;
import org.apache.uima.ducc.transport.event.OrchestratorAbbreviatedStateDuccEvent;
@@ -35,9 +34,6 @@ public class JobDriverEventListener impl
public void onOrchestratorAbbreviatedStateDuccEvent(@Body OrchestratorAbbreviatedStateDuccEvent duccEvent) throws Exception {
//component.evaluateJobDriverConstraints(duccEvent);
}
- public void onJpRequestDuccEvent(@Body IMetaCasTransaction duccEvent) throws Exception {
- component.onJpRequestDuccEvent(duccEvent);
- }
public void setDuccEventDispatcher(DuccEventDispatcher eventDispatcher) {
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java?rev=1640725&r1=1640724&r2=1640725&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java Thu Nov 20 11:45:05 2014
@@ -19,10 +19,12 @@
package org.apache.uima.ducc.transport.configuration.jd.iface;
+import org.apache.camel.CamelContext;
import org.apache.uima.ducc.container.net.iface.IMetaCasTransaction;
import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
public interface IJobDriverComponent {
+ public CamelContext getContext();
public JdStateDuccEvent getState();
- public void onJpRequestDuccEvent(IMetaCasTransaction metaCasTransaction) throws Exception;
+ public void handleJpRequest(IMetaCasTransaction metaCasTransaction) throws Exception;
}