Author: dkulp
Date: Wed Jun 6 14:58:27 2012
New Revision: 1346926
URL: http://svn.apache.org/viewvc?rev=1346926&view=rev
Log:
[CXF-4363] Configure server and client timeouts separately
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms.xsd
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java?rev=1346926&r1=1346925&r2=1346926&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
Wed Jun 6 14:58:27 2012
@@ -60,7 +60,8 @@ public class JMSConfiguration implements
private boolean messageIdEnabled = true;
private boolean messageTimestampEnabled = true;
private boolean pubSubNoLocal;
- private Long receiveTimeout;
+ private Long clientReceiveTimeout;
+ private Long serverReceiveTimeout;
private boolean explicitQosEnabled;
private int deliveryMode = Message.DEFAULT_DELIVERY_MODE;
private int priority = Message.DEFAULT_PRIORITY;
@@ -180,13 +181,19 @@ public class JMSConfiguration implements
}
public Long getReceiveTimeout() {
- return receiveTimeout;
+ return clientReceiveTimeout;
}
public void setReceiveTimeout(Long receiveTimeout) {
- this.receiveTimeout = receiveTimeout;
+ this.clientReceiveTimeout = receiveTimeout;
+ }
+ public Long getServerReceiveTimeout() {
+ return serverReceiveTimeout;
}
+ public void setServerReceiveTimeout(Long receiveTimeout) {
+ this.serverReceiveTimeout = receiveTimeout;
+ }
public boolean isExplicitQosEnabled() {
return explicitQosEnabled;
}
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java?rev=1346926&r1=1346925&r2=1346926&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
Wed Jun 6 14:58:27 2012
@@ -245,7 +245,12 @@ public final class JMSFactory {
jmsListener.setSessionTransacted(jmsConfig.isSessionTransacted());
jmsListener.setTransactionManager(jmsConfig.getTransactionManager());
jmsListener.setMessageListener(listenerHandler);
- if (jmsConfig.getReceiveTimeout() != null) {
+ if (listenerHandler instanceof JMSDestination) {
+ //timeout on server side?
+ if (jmsConfig.getServerReceiveTimeout() != null) {
+
jmsListener.setReceiveTimeout(jmsConfig.getServerReceiveTimeout());
+ }
+ } else if (jmsConfig.getReceiveTimeout() != null) {
jmsListener.setReceiveTimeout(jmsConfig.getReceiveTimeout());
}
if (jmsConfig.getRecoveryInterval() != JMSConfiguration.DEFAULT_VALUE)
{
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java?rev=1346926&r1=1346925&r2=1346926&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
(original)
+++
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
Wed Jun 6 14:58:27 2012
@@ -250,6 +250,9 @@ public class JMSOldConfigHolder {
if (clientConfig.isSetConduitSelectorPrefix()) {
jmsConfig.setConduitSelectorPrefix(clientConfig.getConduitSelectorPrefix());
}
+ if (serverConfig.isSetServerReceiveTimeout()) {
+
jmsConfig.setServerReceiveTimeout(serverConfig.getServerReceiveTimeout());
+ }
jmsConfig.setEnforceSpec(clientConfig.isEnforceSpec());
jmsConfig.setSubscriptionDurable(serverBehavior.isSetDurableSubscriberName());
jmsConfig.setDurableSubscriptionName(serverBehavior.getDurableSubscriberName());
Modified: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms.xsd
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms.xsd?rev=1346926&r1=1346925&r2=1346926&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms.xsd
(original)
+++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms.xsd Wed Jun
6 14:58:27 2012
@@ -69,6 +69,7 @@
<xs:extension base="wsdl:tExtensibilityElement">
<xs:attribute name="messageTimeToLive"
type="pt:ParameterizedLong" default="0" />
<xs:attribute name="durableSubscriptionClientId"
type="xs:string" />
+ <xs:attribute name="serverReceiveTimeout"
type="pt:ParameterizedLong"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>