You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ea...@apache.org on 2008/03/12 16:27:14 UTC
svn commit: r636365 - in
/incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client:
BaseMessageSender.java BaseUIMAAsynchronousEngineCommon_impl.java
Author: eae
Date: Wed Mar 12 08:27:13 2008
New Revision: 636365
URL: http://svn.apache.org/viewvc?rev=636365&view=rev
Log:
UIMA-876 apply patches.
Modified:
incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java?rev=636365&r1=636364&r2=636365&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java Wed Mar 12 08:27:13 2008
@@ -200,11 +200,31 @@
JmsConstants.JMS_LOG_RESOURCE_BUNDLE,
"UIMAJMS_sending_msg_to_endpoint__FINEST",
new Object[] { destination });
- if ( pm.getMessageType() == AsynchAEMessage.Process )
+
+ if ( pm.containsKey(AsynchAEMessage.CasReference) )
{
ClientRequest cacheEntry = (ClientRequest)
- engine.getCache().get(pm.get(AsynchAEMessage.CasReference));
- cacheEntry.setCASDepartureTime(System.nanoTime());
+ engine.getCache().get(pm.get(AsynchAEMessage.CasReference));
+ if ( cacheEntry != null )
+ {
+ // Use Process Timeout value for the time-to-live property in the
+ // outgoing JMS message. When this time is exceeded
+ // while the message sits in a queue, the JMS Server will remove it from
+ // the queue. What happens with the expired message depends on the
+ // configuration. Most JMS Providers create a special dead-letter queue
+ // where all expired messages are placed.
+ long timeoutValue = cacheEntry.getProcessTimeout();
+ if ( timeoutValue > 0 )
+ {
+ message.setJMSExpiration(timeoutValue);
+ }
+ if ( pm.getMessageType() == AsynchAEMessage.Process )
+ {
+ // ClientRequest cacheEntry = (ClientRequest)
+ // engine.getCache().get(pm.get(AsynchAEMessage.CasReference));
+ cacheEntry.setCASDepartureTime(System.nanoTime());
+ }
+ }
}
producer.send(message);
} catch (Exception e) {
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java?rev=636365&r1=636364&r2=636365&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java Wed Mar 12 08:27:13 2008
@@ -539,7 +539,7 @@
requestToCache.setEndpoint(getEndPointName());
requestToCache.setProcessTimeout(processTimeout);
requestToCache.setThreadId(Thread.currentThread().getId());
- requestToCache.clearTimeoutException();
+ requestToCache.clearTimeoutException();
if (remoteService)
{
@@ -1450,7 +1450,10 @@
{
processTimeout = aTimeout;
}
-
+ public long getProcessTimeout()
+ {
+ return processTimeout;
+ }
public void setCpcTimeout( int aTimeout )
{
cpcTimeout = aTimeout;