You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by up...@apache.org on 2007/12/07 05:39:35 UTC
svn commit: r601985 - in
/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms:
JMSConnectionFactory.java JMSSender.java
Author: upul
Date: Thu Dec 6 20:39:35 2007
New Revision: 601985
URL: http://svn.apache.org/viewvc?rev=601985&view=rev
Log:
SYNAPSE-183 allow axis2.xml JMSSender connection details used in JMS EPRs
Modified:
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSConnectionFactory.java
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSSender.java
Modified: webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSConnectionFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSConnectionFactory.java?rev=601985&r1=601984&r2=601985&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSConnectionFactory.java (original)
+++ webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSConnectionFactory.java Thu Dec 6 20:39:35 2007
@@ -276,7 +276,8 @@
if (session == null) {
try {
- Destination dest = (Destination) context.lookup(destinationJNDIname);
+ Destination dest = (Destination) getPhysicalDestination(destinationJNDIname);
+
if (dest instanceof Topic) {
session = ((TopicConnection) connection).
createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -287,8 +288,6 @@
jmsSessions.put(destinationJNDIname, session);
- } catch (NamingException e) {
- handleException("Error looking up destination : " + destinationJNDIname, e);
} catch (JMSException e) {
handleException("Unable to create a session using connection factory : " + name, e);
}
@@ -386,6 +385,30 @@
* @return the provider specific Destination name or null if cannot be found
*/
private String getPhysicalDestinationName(String destinationJndi) {
+ Destination destination = getPhysicalDestination(destinationJndi);
+
+ if (destination != null) {
+ try {
+ if (destination instanceof Queue) {
+ return ((Queue) destination).getQueueName();
+ } else if (destination instanceof Topic) {
+ return ((Topic) destination).getTopicName();
+ }
+ } catch (JMSException e) {
+ log.warn("Error reading Destination name for JNDI destination : " + destinationJndi, e);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Return the provider specific [physical] Destination if any
+ * for the destination with the given JNDI name
+ *
+ * @param destinationJndi the JNDI name of the destination
+ * @return the provider specific Destination or null if cannot be found
+ */
+ private Destination getPhysicalDestination(String destinationJndi) {
Destination destination = null;
try {
@@ -409,18 +432,7 @@
}
}
- if (destination != null) {
- try {
- if (destination instanceof Queue) {
- return ((Queue) destination).getQueueName();
- } else if (destination instanceof Topic) {
- return ((Topic) destination).getTopicName();
- }
- } catch (JMSException e) {
- log.warn("Error reading Destination name for JNDI destination : " + destinationJndi, e);
- }
- }
- return null;
+ return destination;
}
/**
Modified: webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSSender.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSSender.java?rev=601985&r1=601984&r2=601985&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSSender.java (original)
+++ webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSSender.java Thu Dec 6 20:39:35 2007
@@ -80,6 +80,13 @@
* @return the corresponding JMS connection factory, if any
*/
private JMSConnectionFactory getJMSConnectionFactory(JMSOutTransportInfo trpInfo) {
+ if(trpInfo.getProperties() != null) {
+ String jmsConnectionFactoryName = (String) trpInfo.getProperties().get(JMSConstants.CONFAC_PARAM);
+ if(jmsConnectionFactoryName != null) {
+ return (JMSConnectionFactory) connectionFactories.get(jmsConnectionFactoryName);
+ }
+ }
+
Iterator cfNames = connectionFactories.keySet().iterator();
while (cfNames.hasNext()) {
String cfName = (String) cfNames.next();
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org