You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/12/15 10:43:06 UTC

svn commit: r487499 - in /incubator/servicemix/trunk/common/servicemix-components/src: main/java/org/apache/servicemix/components/jms/ test/resources/org/apache/servicemix/components/jca/

Author: gnodet
Date: Fri Dec 15 01:43:05 2006
New Revision: 487499

URL: http://svn.apache.org/viewvc?view=rev&rev=487499
Log:
SM-778: JCAFlow stopped working after updating to 3.1 snapshot

Modified:
    incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInBinding.java
    incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java
    incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/example.xml
    incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/exampleWithXA.xml
    incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/xa-on-jca-flow.xml

Modified: incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInBinding.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInBinding.java?view=diff&rev=487499&r1=487498&r2=487499
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInBinding.java (original)
+++ incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInBinding.java Fri Dec 15 01:43:05 2006
@@ -42,6 +42,21 @@
     private static final Log log = LogFactory.getLog(JmsInBinding.class);
 
     private JmsMarshaler marshaler = new JmsMarshaler();
+    private boolean synchronous = false;
+
+    /**
+     * @return the synchronous
+     */
+    public boolean isSynchronous() {
+        return synchronous;
+    }
+
+    /**
+     * @param synchronous the synchronous to set
+     */
+    public void setSynchronous(boolean synchronous) {
+        this.synchronous = synchronous;
+    }
 
     public JmsMarshaler getMarshaler() {
         return marshaler;
@@ -64,7 +79,11 @@
                 marshaler.toNMS(inMessage, jmsMessage);
 
                 messageExchange.setInMessage(inMessage);
-                getDeliveryChannel().send(messageExchange);
+                if (synchronous) {
+                    getDeliveryChannel().sendSync(messageExchange);
+                } else {
+                    getDeliveryChannel().send(messageExchange);
+                }
             }
             catch (JMSException e) {
                 messageExchange.setError(e);

Modified: incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java?view=diff&rev=487499&r1=487498&r2=487499
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java (original)
+++ incubator/servicemix/trunk/common/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java Fri Dec 15 01:43:05 2006
@@ -23,18 +23,20 @@
 import org.jencks.JCAConnector;
 import org.jencks.JCAContainer;
 import org.jencks.SingletonEndpointFactory;
+import org.springframework.beans.factory.BeanNameAware;
 
 /**
  * Uses the JCA Container for better inbound subscription.
  *
  * @version $Revision$
  */
-public class JmsInUsingJCABinding extends JmsInBinding {
+public class JmsInUsingJCABinding extends JmsInBinding implements BeanNameAware {
 
     private JCAContainer jcaContainer;
     private ActivationSpec activationSpec;
     private TransactionManager transactionManager;
     private JCAConnector jcaConnector;
+    private String name;
 
     protected void init() throws JBIException {
         if (jcaContainer == null) {
@@ -51,7 +53,9 @@
         if (transactionManager != null) {
             jcaConnector.setTransactionManager(transactionManager);
         }
-        jcaConnector.setEndpointFactory(new SingletonEndpointFactory(this, transactionManager));
+        SingletonEndpointFactory ef = new SingletonEndpointFactory(this, transactionManager);
+        ef.setName(name);
+        jcaConnector.setEndpointFactory(ef);
         try {
         	jcaConnector.afterPropertiesSet();
         } catch (Exception e) {
@@ -104,5 +108,9 @@
 
     public JCAConnector getJcaConnector() {
         return jcaConnector;
+    }
+
+    public void setBeanName(String name) {
+        this.name = name;
     }
 }

Modified: incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/example.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/example.xml?view=diff&rev=487499&r1=487498&r2=487499
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/example.xml (original)
+++ incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/example.xml Fri Dec 15 01:43:05 2006
@@ -19,7 +19,7 @@
 -->
 <!-- START SNIPPET: config -->
 <beans xmlns:sm="http://servicemix.apache.org/config/1.0" 
-	   xmlns:foo="http://servicemix.org/cheese/">
+	     xmlns:foo="http://servicemix.org/cheese/">
 
   <!--
   || ActiveMQ Broker
@@ -35,6 +35,7 @@
     <property name="bootstrapContext">
       <bean class="org.jencks.factory.BootstrapContextFactoryBean">
         <property name="threadPoolSize" value="25"/>
+        <property name="transactionManager" ref="transactionManager"/>
       </bean>
     </property>
 
@@ -47,9 +48,13 @@
     </property>
   </bean>
   <!-- END SNIPPET: jca -->
+  
+  <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean">
+    <property name="transactionLogDir" value="target/txlog"/>
+  </bean>
 
   <!-- the JBI container -->
-  <sm:container id="jbi" depends-on="broker" embedded="true">
+  <sm:container id="jbi" depends-on="broker" embedded="true" transactionManager="#transactionManager">
     <sm:activationSpecs>
 
       <sm:activationSpec componentName="myJmsSender" service="foo:myJmsSender">

Modified: incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/exampleWithXA.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/exampleWithXA.xml?view=diff&rev=487499&r1=487498&r2=487499
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/exampleWithXA.xml (original)
+++ incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/exampleWithXA.xml Fri Dec 15 01:43:05 2006
@@ -34,6 +34,7 @@
     <property name="bootstrapContext">
       <bean class="org.jencks.factory.BootstrapContextFactoryBean">
         <property name="threadPoolSize" value="25"/>
+        <property name="transactionManager" ref="transactionManager"/>
       </bean>
     </property>
 
@@ -48,7 +49,9 @@
   <!-- END SNIPPET: jca -->
 
   <!-- START SNIPPET: tm -->
-  <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/>
+  <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean">
+    <property name="transactionLogDir" value="target/txlog" />
+  </bean>
   <!-- END SNIPPET: tm -->
 
   <!-- the JBI container -->
@@ -82,6 +85,7 @@
 
           <!-- use XA transactions -->
           <property name="transactionManager" ref="transactionManager"/>
+          <property name="synchronous" value="true"/>
         </bean></sm:component>
       </sm:activationSpec>
       <!-- END SNIPPET: receive -->

Modified: incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/xa-on-jca-flow.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/xa-on-jca-flow.xml?view=diff&rev=487499&r1=487498&r2=487499
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/xa-on-jca-flow.xml (original)
+++ incubator/servicemix/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/jca/xa-on-jca-flow.xml Fri Dec 15 01:43:05 2006
@@ -34,6 +34,7 @@
     <property name="bootstrapContext">
       <bean class="org.jencks.factory.BootstrapContextFactoryBean">
         <property name="threadPoolSize" value="25"/>
+        <property name="transactionManager" ref="transactionManager" />
       </bean>
     </property>
 
@@ -48,24 +49,25 @@
   <!-- END SNIPPET: jca -->
 
   <!-- START SNIPPET: tm -->
-  <bean id="transactionContextManager" class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
-  <bean id="userTransaction" class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />
+  <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean">
+    <property name="transactionLogDir" value="target/txlog" />
+  </bean>
   <!-- END SNIPPET: tm -->
 
   <!-- the JBI container -->
-  <sm:container id="jbi" depends-on="broker" embedded="true">
+  <sm:container id="jbi" depends-on="broker">
 
     <!-- use JCA flow -->
   	<property name="flow">
   		<bean class="org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow">
-  			<property name="transactionContextManager" ref="transactionContextManager" />
   			<property name="jmsURL" value="tcp://localhost:61626" />
   		</bean>
   	</property>
     <!-- use XA transactions -->
-    <property name="transactionManager" ref="userTransaction"/>
+    <property name="transactionManager" ref="transactionManager"/>
     <!--  use autoEnlistInTransaction -->
     <property name="autoEnlistInTransaction" value="true"/>
+    <property name="embedded" value="true" />
   
     <sm:activationSpecs>
 
@@ -95,7 +97,7 @@
           </property>
 
           <!-- use XA transactions -->
-          <property name="transactionManager" ref="userTransaction"/>
+          <property name="transactionManager" ref="transactionManager"/>
         </bean></sm:component>
       </sm:activationSpec>
       <!-- END SNIPPET: receive -->