Author: dkulp
Date: Tue Oct 7 14:21:58 2008
New Revision: 702642
URL: http://svn.apache.org/viewvc?rev=702642&view=rev
Log:
Merged revisions 701783 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r701783 | cschneider | 2008-10-05 08:49:52 -0400 (Sun, 05 Oct 2008) | 1 line
CXF-1832 Example for JMSConfigFeature
........
Added:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
- copied unchanged from r701783,
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 7 14:21:58 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,702267,702547,702561,702580,702602,702609
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,702267,702547,702561,702580,702602,702609
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java?rev=702642&r1=702641&r2=702642&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
Tue Oct 7 14:21:58 2008
@@ -69,6 +69,12 @@
* JMSOutputStream will then call back the sendExchange method of this
class. [EMAIL PROTECTED]
*/
public void prepare(Message message) throws IOException {
+ if (jmsConfig.getTargetDestination() == null ||
jmsConfig.getConnectionFactory() == null) {
+ String name = ".jms-conduit";
+ throw new RuntimeException("Insufficient configuration for
Conduit. "
+ + "Did you configure a <jms:conduit
name=\"" + name
+ + "\"> and set the
jndiConnectionFactoryName ?");
+ }
boolean isTextPayload =
JMSConstants.TEXT_MESSAGE_TYPE.equals(jmsConfig.getMessageType());
JMSOutputStream out = new JMSOutputStream(this, message.getExchange(),
isTextPayload);
message.setContent(OutputStream.class, out);
Modified:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java?rev=702642&r1=702641&r2=702642&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
Tue Oct 7 14:21:58 2008
@@ -23,6 +23,8 @@
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Required;
+import org.springframework.core.task.TaskExecutor;
+import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.transaction.PlatformTransactionManager;
@@ -30,6 +32,7 @@
private ConnectionFactory connectionFactory;
private DestinationResolver destinationResolver;
private PlatformTransactionManager transactionManager;
+ private TaskExecutor taskExecutor;
private boolean useJms11 = true;
private boolean useJndi;
private boolean messageIdEnabled = true;
@@ -42,6 +45,9 @@
private int priority = Message.DEFAULT_PRIORITY;
private long timeToLive = Message.DEFAULT_TIME_TO_LIVE;
private boolean sessionTransacted;
+
+ private int concurrentConsumers = 1;
+ private int maxConcurrentConsumers = 1;
private volatile String messageSelector;
private boolean subscriptionDurable;
@@ -227,4 +233,28 @@
this.transactionManager = transactionManager;
}
+ public int getConcurrentConsumers() {
+ return concurrentConsumers;
+ }
+
+ public void setConcurrentConsumers(int concurrentConsumers) {
+ this.concurrentConsumers = concurrentConsumers;
+ }
+
+ public int getMaxConcurrentConsumers() {
+ return maxConcurrentConsumers;
+ }
+
+ public void setMaxConcurrentConsumers(int maxConcurrentConsumers) {
+ this.maxConcurrentConsumers = maxConcurrentConsumers;
+ }
+
+ public TaskExecutor getTaskExecutor() {
+ return taskExecutor;
+ }
+
+ public void setTaskExecutor(TaskExecutor taskExecutor) {
+ this.taskExecutor = taskExecutor;
+ }
+
}
Modified:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java?rev=702642&r1=702641&r2=702642&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
Tue Oct 7 14:21:58 2008
@@ -89,6 +89,12 @@
*/
public void activate() {
getLogger().log(Level.INFO, "JMSDestination activate().... ");
+ String name = endpointInfo.getName().toString() + ".jms-destination";
+ if (jmsConfig.getTargetDestination() == null ||
jmsConfig.getConnectionFactory() == null) {
+ throw new RuntimeException("Insufficient configuration for
Destination. "
+ + "Did you configure a <jms:destination
name=\"" + name
+ + "\"> and set the
jndiConnectionFactoryName ?");
+ }
jmsListener = JMSFactory.createJmsListener(jmsConfig, this,
jmsConfig.getTargetDestination());
jmsConfig.getTargetDestination();
}
Modified:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java?rev=702642&r1=702641&r2=702642&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
Tue Oct 7 14:21:58 2008
@@ -79,24 +79,30 @@
public static DefaultMessageListenerContainer
createJmsListener(JMSConfiguration jmsConfig,
MessageListener listenerHandler,
String
destinationName) {
- DefaultMessageListenerContainer jmsListener2 = jmsConfig.isUseJms11()
+ DefaultMessageListenerContainer jmsListener = jmsConfig.isUseJms11()
? new DefaultMessageListenerContainer() : new
DefaultMessageListenerContainer102();
- jmsListener2.setPubSubDomain(jmsConfig.isPubSubDomain());
- jmsListener2.setAutoStartup(true);
- jmsListener2.setConnectionFactory(jmsConfig.getConnectionFactory());
- jmsListener2.setMessageSelector(jmsConfig.getMessageSelector());
-
jmsListener2.setDurableSubscriptionName(jmsConfig.getDurableSubscriptionName());
- jmsListener2.setSessionTransacted(jmsConfig.isSessionTransacted());
- jmsListener2.setTransactionManager(jmsConfig.getTransactionManager());
- jmsListener2.setMessageListener(listenerHandler);
+ jmsListener.setConcurrentConsumers(jmsConfig.getConcurrentConsumers());
+
jmsListener.setMaxConcurrentConsumers(jmsConfig.getMaxConcurrentConsumers());
+ jmsListener.setPubSubDomain(jmsConfig.isPubSubDomain());
+ jmsListener.setAutoStartup(true);
+ jmsListener.setConnectionFactory(jmsConfig.getConnectionFactory());
+ jmsListener.setMessageSelector(jmsConfig.getMessageSelector());
+
jmsListener.setDurableSubscriptionName(jmsConfig.getDurableSubscriptionName());
+ jmsListener.setSessionTransacted(jmsConfig.isSessionTransacted());
+ jmsListener.setTransactionManager(jmsConfig.getTransactionManager());
+ jmsListener.setMessageListener(listenerHandler);
if (jmsConfig.getDestinationResolver() != null) {
-
jmsListener2.setDestinationResolver(jmsConfig.getDestinationResolver());
+
jmsListener.setDestinationResolver(jmsConfig.getDestinationResolver());
+ }
+ if (jmsConfig.getTaskExecutor() != null) {
+ jmsListener.setTaskExecutor(jmsConfig.getTaskExecutor());
}
JmsTemplate jmsTemplate = createJmsTemplate(jmsConfig, null);
-
jmsListener2.setDestination(JMSFactory.resolveOrCreateDestination(jmsTemplate,
destinationName,
-
jmsConfig.isPubSubDomain()));
- jmsListener2.initialize();
- return jmsListener2;
+ Destination dest = JMSFactory.resolveOrCreateDestination(jmsTemplate,
destinationName, jmsConfig
+ .isPubSubDomain());
+ jmsListener.setDestination(dest);
+ jmsListener.initialize();
+ return jmsListener;
}
/**
Modified:
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java?rev=702642&r1=702641&r2=702642&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
Tue Oct 7 14:21:58 2008
@@ -136,14 +136,6 @@
jmsConfig.setConnectionFactory(cf);
- if (jmsConfig.getTargetDestination() == null ||
jmsConfig.getConnectionFactory() == null) {
- throw new RuntimeException("Insufficient configuration for "
- + (isConduit ? "Conduit" :
"Destination") + ". "
- + "Did you configure a <jms:"
- + (isConduit ? "conduit" :
"destination") + " name=\"" + name
- + "\"> and set the
jndiConnectionFactoryName ?");
- }
-
return jmsConfig;
}