You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/06/06 16:58:27 UTC
svn commit: r1346926 - in /cxf/trunk/rt/transports/jms/src/main:
java/org/apache/cxf/transport/jms/ resources/schemas/wsdl/
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>