Author: janstey
Date: Tue Aug 2 18:04:51 2011
New Revision: 1153230
URL: http://svn.apache.org/viewvc?rev=1153230&view=rev
Log:
CAMEL-4297 - Add errorHandler option for DMLC to camel-jms
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
(original)
+++
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
Tue Aug 2 18:04:51 2011
@@ -37,6 +37,7 @@ import org.springframework.jms.core.JmsO
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.util.ErrorHandler;
import static org.apache.camel.util.ObjectHelper.removeStartingCharacters;
@@ -206,6 +207,10 @@ public class JmsComponent extends Defaul
getConfiguration().setExceptionListener(exceptionListener);
}
+ public void setErrorHandler(ErrorHandler errorHandler) {
+ getConfiguration().setErrorHandler(errorHandler);
+ }
+
public void setExplicitQosEnabled(boolean explicitQosEnabled) {
getConfiguration().setExplicitQosEnabled(explicitQosEnabled);
}
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
(original)
+++
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
Tue Aug 2 18:04:51 2011
@@ -41,6 +41,7 @@ import org.springframework.jms.support.c
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.util.Assert;
+import org.springframework.util.ErrorHandler;
import static
org.apache.camel.component.jms.JmsMessageHelper.normalizeDestinationName;
@@ -64,6 +65,7 @@ public class JmsConfiguration implements
private String acknowledgementModeName;
// Used to configure the spring Container
private ExceptionListener exceptionListener;
+ private ErrorHandler errorHandler;
private boolean autoStartup = true;
private boolean acceptMessagesWhileStopping;
private String clientId;
@@ -460,6 +462,14 @@ public class JmsConfiguration implements
this.exceptionListener = exceptionListener;
}
+ public void setErrorHandler(ErrorHandler errorHandler) {
+ this.errorHandler = errorHandler;
+ }
+
+ public ErrorHandler getErrorHandler() {
+ return errorHandler;
+ }
+
@Deprecated
public boolean isSubscriptionDurable() {
return subscriptionDurable;
@@ -839,6 +849,10 @@ public class JmsConfiguration implements
container.setExceptionListener(exceptionListener);
}
+ if (errorHandler != null) {
+ container.setErrorHandler(errorHandler);
+ }
+
container.setAcceptMessagesWhileStopping(acceptMessagesWhileStopping);
container.setExposeListenerSession(exposeListenerSession);
container.setSessionTransacted(transacted);
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
(original)
+++
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
Tue Aug 2 18:04:51 2011
@@ -60,6 +60,7 @@ import org.springframework.jms.listener.
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.util.ErrorHandler;
/**
* A <a href="http://activemq.apache.org/jms.html">JMS Endpoint</a>
@@ -513,6 +514,10 @@ public class JmsEndpoint extends Default
return getConfiguration().getExceptionListener();
}
+ public ErrorHandler getErrorHandler() {
+ return getConfiguration().getErrorHandler();
+ }
+
@ManagedAttribute
public int getIdleTaskExecutionLimit() {
return getConfiguration().getIdleTaskExecutionLimit();
@@ -770,6 +775,10 @@ public class JmsEndpoint extends Default
getConfiguration().setExceptionListener(exceptionListener);
}
+ public void setErrorHandler(ErrorHandler errorHandler) {
+ getConfiguration().setErrorHandler(errorHandler);
+ }
+
@ManagedAttribute
public void setExplicitQosEnabled(boolean explicitQosEnabled) {
getConfiguration().setExplicitQosEnabled(explicitQosEnabled);
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java
(original)
+++
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java
Tue Aug 2 18:04:51 2011
@@ -193,6 +193,9 @@ public class PersistentQueueReplyManager
if (endpoint.getExceptionListener() != null) {
answer.setExceptionListener(endpoint.getExceptionListener());
}
+ if (endpoint.getErrorHandler() != null) {
+ answer.setErrorHandler(endpoint.getErrorHandler());
+ }
if (endpoint.getReceiveTimeout() >= 0) {
answer.setReceiveTimeout(endpoint.getReceiveTimeout());
}
Modified:
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
(original)
+++
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
Tue Aug 2 18:04:51 2011
@@ -110,6 +110,9 @@ public class TemporaryQueueReplyManager
if (endpoint.getExceptionListener() != null) {
answer.setExceptionListener(endpoint.getExceptionListener());
}
+ if (endpoint.getErrorHandler() != null) {
+ answer.setErrorHandler(endpoint.getErrorHandler());
+ }
if (endpoint.getReceiveTimeout() >= 0) {
answer.setReceiveTimeout(endpoint.getReceiveTimeout());
}
Modified:
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java?rev=1153230&r1=1153229&r2=1153230&view=diff
==============================================================================
---
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
(original)
+++
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
Tue Aug 2 18:04:51 2011
@@ -35,6 +35,7 @@ import org.springframework.jms.core.JmsT
import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.listener.DefaultMessageListenerContainer;
import org.springframework.jms.support.converter.SimpleMessageConverter;
+import org.springframework.util.ErrorHandler;
import static
org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -210,6 +211,7 @@ public class JmsEndpointConfigurationTes
assertEquals("jms://queue:Foo", endpoint.getEndpointKey());
assertEquals("jms://queue:Foo", endpoint.getEndpointUri());
assertNull(endpoint.getExceptionListener());
+ assertNull(endpoint.getErrorHandler());
assertEquals(1, endpoint.getIdleTaskExecutionLimit());
assertEquals(1, endpoint.getIdleConsumerLimit());
assertEquals(null, endpoint.getJmsMessageType());
@@ -304,6 +306,12 @@ public class JmsEndpointConfigurationTes
});
assertNotNull(endpoint.getExceptionListener());
+ endpoint.setErrorHandler(new ErrorHandler() {
+ public void handleError(Throwable t) {
+ }
+ });
+ assertNotNull(endpoint.getErrorHandler());
+
endpoint.setExplicitQosEnabled(true);
assertEquals(true, endpoint.isExplicitQosEnabled());