Author: jstrachan
Date: Thu Jan  5 03:14:38 2006
New Revision: 366161

URL: http://svn.apache.org/viewcvs?rev=366161&view=rev
Log:
fix for AMQ-348 to allow a ConnectionFactory to be specified so it can be 
shared across inbound and outputbound messaging

Modified:
    
incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQResourceAdapter.java

Modified: 
incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQResourceAdapter.java
URL: 
http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQResourceAdapter.java?rev=366161&r1=366160&r2=366161&view=diff
==============================================================================
--- 
incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQResourceAdapter.java
 (original)
+++ 
incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQResourceAdapter.java
 Thu Jan  5 03:14:38 2006
@@ -57,6 +57,7 @@
     private BootstrapContext bootstrapContext;
     private String brokerXmlConfig;
     private BrokerService broker;
+    private ActiveMQConnectionFactory connectionFactory;
 
     public ActiveMQResourceAdapter() {
     }
@@ -77,7 +78,12 @@
     }
 
     public ActiveMQConnection makeConnection() throws JMSException {
-        return makeConnection(info);
+        if (connectionFactory != null) {
+            return makeConnection(info, connectionFactory);
+        }
+        else {
+            return makeConnection(info);
+        }
     }
     
     /**
@@ -85,6 +91,10 @@
     public ActiveMQConnection makeConnection(ActiveMQConnectionRequestInfo 
info) throws JMSException {
 
         ActiveMQConnectionFactory connectionFactory = 
createConnectionFactory(info);
+        return makeConnection(info, connectionFactory);
+    }
+
+    public ActiveMQConnection makeConnection(ActiveMQConnectionRequestInfo 
info, ActiveMQConnectionFactory connectionFactory) throws JMSException {
         String userName = info.getUserName();
         String password = info.getPassword();
         ActiveMQConnection physicalConnection = (ActiveMQConnection) 
connectionFactory.createConnection(userName, password);
@@ -457,6 +467,19 @@
 
     public void setUseInboundSession(Boolean useInboundSession) {
         info.setUseInboundSession(useInboundSession);
+    }
+
+    public ActiveMQConnectionFactory getConnectionFactory() {
+        return connectionFactory;
+    }
+
+    /**
+     * This allows a connection factory to be configured and shared between a 
ResourceAdaptor and outbound messaging.
+     * Note that setting the connectionFactory will overload many of the 
properties on this POJO such as the redelivery
+     * and prefetch policies; the properties on the connectionFactory will be 
used instead.
+     */
+    public void setConnectionFactory(ActiveMQConnectionFactory 
connectionFactory) {
+        this.connectionFactory = connectionFactory;
     }
 
 


Reply via email to