You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2012/05/17 21:33:33 UTC
svn commit: r1339813 -
/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
Author: cwiklik
Date: Thu May 17 19:33:32 2012
New Revision: 1339813
URL: http://svn.apache.org/viewvc?rev=1339813&view=rev
Log:
UIMA-2304 Catch any exception while deserializing a reply containing Service exception
Modified:
uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
Modified: uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java?rev=1339813&r1=1339812&r2=1339813&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java Thu May 17 19:33:32 2012
@@ -1173,11 +1173,18 @@ public abstract class BaseUIMAAsynchrono
private Exception retrieveExceptionFromMessage(Message message) throws Exception {
Exception exception = null;
- if (message instanceof ObjectMessage
- && ((ObjectMessage) message).getObject() instanceof Exception) {
- exception = (Exception) ((ObjectMessage) message).getObject();
- } else if (message instanceof TextMessage) {
- exception = new UimaEEServiceException(((TextMessage) message).getText());
+ try {
+ if (message instanceof ObjectMessage
+ && ((ObjectMessage) message).getObject() instanceof Exception) {
+ exception = (Exception) ((ObjectMessage) message).getObject();
+ } else if (message instanceof TextMessage) {
+ exception = new UimaEEServiceException(((TextMessage) message).getText());
+ }
+ } catch( Exception e) {
+ UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, getClass().getName(),
+ "retrieveExceptionFromMessage", UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE,
+ "UIMAEE_exception__WARNING", e);
+ exception = new UimaEEServiceException("UIMA AS client is unable to de-serialize Exception from a remote service",e);
}
return exception;
}