You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2009/09/18 12:01:54 UTC
svn commit: r816570 - in /incubator/uima/uima-as/trunk:
uima-as-docbooks/src/docbook/uima_async_scaleout/
uimaj-as-camel/src/main/java/org/apache/uima/camel/
Author: joern
Date: Fri Sep 18 10:01:53 2009
New Revision: 816570
URL: http://svn.apache.org/viewvc?rev=816570&view=rev
Log:
UIMA-1579 The cas pool size of the camel uima driver must be configurable
Modified:
incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.camel.driver.xml
incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsEndpoint.java
incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsProducer.java
Modified: incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.camel.driver.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.camel.driver.xml?rev=816570&r1=816569&r2=816570&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.camel.driver.xml (original)
+++ incubator/uima/uima-as/trunk/uima-as-docbooks/src/docbook/uima_async_scaleout/async.camel.driver.xml Fri Sep 18 10:01:53 2009
@@ -63,9 +63,11 @@
<para>The Asynchronous Scaleout Camel Driver is configured with a configuration string. The
configuration string must contain the broker location and name of the JMS queue used to
communicate with UIMA AS. It has the following format
- <programlisting>uimadriver:brokerURL?queue="nameofqueue" </programlisting>
+ <programlisting>uimadriver:brokerURL?queue=nameofqueue&casPoolSize=n</programlisting>
which could for example be specified as
<programlisting>uimadriver:tcp://localhost:61616?queue=TextAnalysisQueue</programlisting>.
+ The casPoolSize parameter is optional but if it is present n must be an integer
+ which is larger than zero, otherwise the UIMA AS default will be used.
</para>
</section>
<section id="ugr.async.camel.driver.sample">
Modified: incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsEndpoint.java?rev=816570&r1=816569&r2=816570&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsEndpoint.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsEndpoint.java Fri Sep 18 10:01:53 2009
@@ -34,6 +34,7 @@
private String brokerAddress;
private String queue;
+ private Integer casPoolSize;
public UimaAsEndpoint(String uri, String brokerAddress,
UimaAsComponent component) {
@@ -46,6 +47,20 @@
public void configureProperties(Map options) {
super.configureProperties(options);
queue = (String) options.remove("queue");
+
+ if (options.containsKey("casPoolSize")) {
+ String casPoolSizeString = (String) options.remove("casPoolSize");
+ try {
+ casPoolSize = Integer.parseInt(casPoolSizeString);
+ if (casPoolSize < 1) {
+ System.out.println("Warning casPoolSize must be larger than zero, fallback to default!");
+ casPoolSize = null;
+ }
+ }
+ catch (NumberFormatException e) {
+ System.out.println("Warning cas pool size is invalid, fallback to default!");
+ }
+ }
}
public Consumer<Exchange> createConsumer(Processor arg0) throws Exception {
@@ -53,7 +68,7 @@
}
public Producer<Exchange> createProducer() throws Exception {
- return new UimaAsProducer(brokerAddress, queue, this);
+ return new UimaAsProducer(brokerAddress, queue, casPoolSize, this);
}
public boolean isSingleton() {
Modified: incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsProducer.java
URL: http://svn.apache.org/viewvc/incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsProducer.java?rev=816570&r1=816569&r2=816570&view=diff
==============================================================================
--- incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsProducer.java (original)
+++ incubator/uima/uima-as/trunk/uimaj-as-camel/src/main/java/org/apache/uima/camel/UimaAsProducer.java Fri Sep 18 10:01:53 2009
@@ -118,7 +118,7 @@
*/
private final Map<String, ExchangeAsyncCallbackPair> intermediateMap;
- public UimaAsProducer(String brokerAddress, String queue, Endpoint<Exchange> endpoint)
+ public UimaAsProducer(String brokerAddress, String queue, Integer casPoolSize, Endpoint<Exchange> endpoint)
throws Exception {
super(endpoint);
@@ -131,8 +131,10 @@
Map<String, Object> appCtx = new HashMap<String, Object>();
appCtx.put(UimaAsynchronousEngine.ServerUri, brokerAddress);
appCtx.put(UimaAsynchronousEngine.Endpoint, queue);
- appCtx.put(UimaAsynchronousEngine.CasPoolSize, 15);
-
+ if (casPoolSize != null) {
+ appCtx.put(UimaAsynchronousEngine.CasPoolSize, casPoolSize.intValue());
+ }
+
try {
uimaAsEngine.initialize(appCtx);
} catch (ResourceInitializationException e) {