Author: dkulp
Date: Thu Aug 13 18:18:56 2009
New Revision: 803979
URL: http://svn.apache.org/viewvc?rev=803979&view=rev
Log:
Merged revisions 803689 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r803689 | dkulp | 2009-08-12 16:06:52 -0400 (Wed, 12 Aug 2009) | 2 lines
Update JMS to allow injecting of custom JmsTemplate and
AbstractMessageLIstenerContainer objects
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuationProvider.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 13 18:18:56 2009
@@ -1 +1 @@
-/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786512,786514,786582-786583,786638,786647,786850,787200,787269,787277-787279,787290-787291,787305,787323,787366,787849,788030,788060,788187,788444,788451,788703,788752,788774,788819-788820,789013,789371,789387,789420,789527-789530,789704-789705,789788,789811,789896-789901,790074,790094,790134,790188,790294,790553,790637-790644,790868,791301,791354,791538,791753,791947,792007,792096,792183,792261-792265,792271,792604,792683-792685,792975,792985,793059,793570,794297,794396,794680,794728,794771,794778-794780,794892,795044,795104,795160,795583,795907,796022-796023,796352,796593,796741,796780,796994-796997,797117,797159,797192,797194,797231-797233,797442,797505,797517,797534,797581-797583,797587,797640,797651,797699,797882-797883,798344-798346,798363,798461,798479,798533,798551,798557,798561-798562,798570,798573,79858
4,798654,798748-798749,798891,798929-798930,799245,799267,799439,799448,799637,799723-799724,799792,800453,800497-800498,801380-801381,801447,801962,802892,803129,803460,803493
+/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786512,786514,786582-786583,786638,786647,786850,787200,787269,787277-787279,787290-787291,787305,787323,787366,787849,788030,788060,788187,788444,788451,788703,788752,788774,788819-788820,789013,789371,789387,789420,789527-789530,789704-789705,789788,789811,789896-789901,790074,790094,790134,790188,790294,790553,790637-790644,790868,791301,791354,791538,791753,791947,792007,792096,792183,792261-792265,792271,792604,792683-792685,792975,792985,793059,793570,794297,794396,794680,794728,794771,794778-794780,794892,795044,795104,795160,795583,795907,796022-796023,796352,796593,796741,796780,796994-796997,797117,797159,797192,797194,797231-797233,797442,797505,797517,797534,797581-797583,797587,797640,797651,797699,797882-797883,798344-798346,798363,798461,798479,798533,798551,798557,798561-798562,798570,798573,79858
4,798654,798748-798749,798891,798929-798930,799245,799267,799439,799448,799637,799723-799724,799792,800453,800497-800498,801380-801381,801447,801962,802892,803129,803460,803493,803689
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java?rev=803979&r1=803978&r2=803979&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
Thu Aug 13 18:18:56 2009
@@ -28,6 +28,8 @@
import org.springframework.core.task.TaskExecutor;
import org.springframework.jms.connection.SingleConnectionFactory;
import org.springframework.jms.connection.SingleConnectionFactory102;
+import org.springframework.jms.core.JmsTemplate;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.jndi.JndiTemplate;
import org.springframework.transaction.PlatformTransactionManager;
@@ -42,7 +44,10 @@
static final boolean DEFAULT_USEJMS11 = true;
private boolean usingEndpointInfo = true;
-
+
+ private JmsTemplate jmsTemplate;
+ private AbstractMessageListenerContainer messageListenerContainer;
+
private JndiTemplate jndiTemplate;
private ConnectionFactory connectionFactory;
private DestinationResolver destinationResolver;
@@ -459,4 +464,20 @@
public void setEnforceSpec(boolean enforceSpec) {
this.enforceSpec = enforceSpec;
}
+
+ public void setJmsTemplate(JmsTemplate jmsTemplate) {
+ this.jmsTemplate = jmsTemplate;
+ }
+
+ public JmsTemplate getJmsTemplate() {
+ return jmsTemplate;
+ }
+
+ public AbstractMessageListenerContainer getMessageListenerContainer() {
+ return messageListenerContainer;
+ }
+
+ public void setMessageListenerContainer(AbstractMessageListenerContainer
messageListenerContainer) {
+ this.messageListenerContainer = messageListenerContainer;
+ }
}
Modified:
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java?rev=803979&r1=803978&r2=803979&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
Thu Aug 13 18:18:56 2009
@@ -66,7 +66,7 @@
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.jms.core.SessionCallback;
-import org.springframework.jms.listener.DefaultMessageListenerContainer;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.support.JmsUtils;
import org.springframework.jms.support.destination.DestinationResolver;
@@ -78,7 +78,7 @@
private JMSConfiguration jmsConfig;
private Bus bus;
private EndpointInfo ei;
- private DefaultMessageListenerContainer jmsListener;
+ private AbstractMessageListenerContainer jmsListener;
private Collection<JMSContinuation> continuations =
new ConcurrentLinkedQueue<JMSContinuation>();
Modified:
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java?rev=803979&r1=803978&r2=803979&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
Thu Aug 13 18:18:56 2009
@@ -36,6 +36,7 @@
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.JmsTemplate102;
import org.springframework.jms.core.SessionCallback;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.listener.DefaultMessageListenerContainer;
import org.springframework.jms.listener.DefaultMessageListenerContainer102;
import org.springframework.jms.support.destination.DestinationResolver;
@@ -92,6 +93,9 @@
* @return
*/
public static JmsTemplate createJmsTemplate(JMSConfiguration jmsConfig,
JMSMessageHeadersType headers) {
+ if (jmsConfig.getJmsTemplate() != null) {
+ return jmsConfig.getJmsTemplate();
+ }
JmsTemplate jmsTemplate = jmsConfig.isUseJms11() ? new JmsTemplate() :
new JmsTemplate102();
jmsTemplate.setConnectionFactory(jmsConfig.getOrCreateWrappedConnectionFactory());
jmsTemplate.setPubSubDomain(jmsConfig.isPubSubDomain());
@@ -113,12 +117,15 @@
return jmsTemplate;
}
- public static DefaultMessageListenerContainer
createJmsListener(EndpointInfo ei,
+ public static AbstractMessageListenerContainer
createJmsListener(EndpointInfo ei,
JMSConfiguration jmsConfig,
MessageListener listenerHandler,
String
destinationName,
String
messageSelectorPrefix,
boolean
userCID) {
+ if (jmsConfig.getMessageListenerContainer() != null) {
+ return jmsConfig.getMessageListenerContainer();
+ }
DefaultMessageListenerContainer jmsListener = null;
if (jmsConfig.isUseJms11()) {
@@ -185,7 +192,7 @@
jmsListener.setAutoStartup(true);
jmsListener.setConnectionFactory(jmsConfig.getOrCreateWrappedConnectionFactory());
jmsListener.setMessageSelector(jmsConfig.getMessageSelector());
-
//jmsListener.setSubscriptionDurable(jmsConfig.isSubscriptionDurable());
+ jmsListener.setSubscriptionDurable(jmsConfig.isSubscriptionDurable());
jmsListener.setDurableSubscriptionName(jmsConfig.getDurableSubscriptionName());
jmsListener.setSessionTransacted(jmsConfig.isSessionTransacted());
jmsListener.setTransactionManager(jmsConfig.getTransactionManager());
Modified:
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java?rev=803979&r1=803978&r2=803979&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
Thu Aug 13 18:18:56 2009
@@ -30,6 +30,7 @@
import org.apache.cxf.message.Message;
import org.apache.cxf.transport.MessageObserver;
import org.apache.cxf.transport.jms.JMSConfiguration;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.listener.DefaultMessageListenerContainer;
public class JMSContinuation implements Continuation {
@@ -38,7 +39,7 @@
private Message inMessage;
private MessageObserver incomingObserver;
private Collection<JMSContinuation> continuations;
- private DefaultMessageListenerContainer jmsListener;
+ private AbstractMessageListenerContainer jmsListener;
private JMSConfiguration jmsConfig;
private Object userObject;
@@ -50,7 +51,7 @@
public JMSContinuation(Bus b, Message m, MessageObserver observer,
Collection<JMSContinuation> cList,
- DefaultMessageListenerContainer jmsListener,
+ AbstractMessageListenerContainer jmsListener,
JMSConfiguration jmsConfig) {
bus = b;
inMessage = m;
@@ -151,7 +152,9 @@
protected void updateContinuations(boolean remove) {
if (jmsConfig.getMaxSuspendedContinuations() < 0
- || jmsListener.getCacheLevel() >=
DefaultMessageListenerContainer.CACHE_CONSUMER) {
+ || (jmsListener instanceof DefaultMessageListenerContainer
+ &&
((DefaultMessageListenerContainer)jmsListener).getCacheLevel()
+ >= DefaultMessageListenerContainer.CACHE_CONSUMER)) {
modifyList(remove);
return;
}
Modified:
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuationProvider.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuationProvider.java?rev=803979&r1=803978&r2=803979&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuationProvider.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuationProvider.java
Thu Aug 13 18:18:56 2009
@@ -27,7 +27,7 @@
import org.apache.cxf.message.Message;
import org.apache.cxf.transport.MessageObserver;
import org.apache.cxf.transport.jms.JMSConfiguration;
-import org.springframework.jms.listener.DefaultMessageListenerContainer;
+import org.springframework.jms.listener.AbstractMessageListenerContainer;
public class JMSContinuationProvider implements ContinuationProvider {
@@ -35,14 +35,14 @@
private Message inMessage;
private MessageObserver incomingObserver;
private Collection<JMSContinuation> continuations;
- private DefaultMessageListenerContainer jmsListener;
+ private AbstractMessageListenerContainer jmsListener;
private JMSConfiguration jmsConfig;
public JMSContinuationProvider(Bus b,
Message m,
MessageObserver observer,
Collection<JMSContinuation> cList,
- DefaultMessageListenerContainer jmsListener,
+ AbstractMessageListenerContainer
jmsListener,
JMSConfiguration jmsConfig) {
bus = b;
inMessage = m;