<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-25701</id>
	<title>Nabble - Bitronix Transaction Manager</title>
	<updated>2009-11-16T23:24:11Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Bitronix-Transaction-Manager-f25701.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bitronix-Transaction-Manager-f25701.html" />
	<subtitle type="html">The &lt;a href=&quot;http://docs.codehaus.org/display/BTM/Home&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bitronix Transaction Manager (BTM)&lt;/a&gt;&amp;nbsp;is a simple but complete implementation of the JTA 1.0.1B API made by &lt;a href=&quot;http://www.bitronix.be/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bitronix Software&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;You can read the latest news in the &lt;a href=&quot;http://blog.bitronix.be/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;team's blog.&lt;/a&gt;</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26385466</id>
	<title>Re: bitronix.TM to spring.jtaTM</title>
	<published>2009-11-16T23:24:11Z</published>
	<updated>2009-11-16T23:24:11Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">This looks like a classpath problem to me.&lt;br&gt;&lt;br&gt;Please check that you don&amp;#39;t have geronimo-jta_1.0.1B_spec.jar (or jta.jar) and btm-x.x.x.jar in your WEB-INF/lib but only in TOMCAT_HOME/lib.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;
2009/11/17 Adam Roundy &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385466&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aroundy@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
I set up bitronix in Tomcat 6 according to the instruction on this page : &lt;a href=&quot;http://docs.codehaus.org/display/BTM/Tomcat13&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/BTM/Tomcat13&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
I then configured spring like this, in the applicationContext.xml file :&lt;br&gt;
&lt;br&gt;
   &amp;lt;bean id=&amp;quot;dataSource&amp;quot; class=&amp;quot;org.springframework.jndi.JndiObjectFactoryBean&amp;quot;&amp;gt;&lt;br&gt;
       &amp;lt;property name=&amp;quot;jndiName&amp;quot; value=&amp;quot;java:comp/env/dataSource&amp;quot;/&amp;gt;&lt;br&gt;
   &amp;lt;/bean&amp;gt;&lt;br&gt;
&lt;br&gt;
   &amp;lt;bean id=&amp;quot;btmTransactionManager&amp;quot; class= &amp;quot;org.springframework.jndi.JndiObjectFactoryBean&amp;quot;&amp;gt;&lt;br&gt;
       &amp;lt;property name=&amp;quot;jndiName&amp;quot; value=&amp;quot;java:comp/UserTransaction&amp;quot;/&amp;gt;&lt;br&gt;
   &amp;lt;/bean&amp;gt;&lt;br&gt;
&lt;br&gt;
   &amp;lt;bean id=&amp;quot;transactionManager&amp;quot; class=&amp;quot;org.springframework.transaction.jta.JtaTransactionManager&amp;quot;&lt;br&gt;
     depends-on=&amp;quot;btmTransactionManager&amp;quot;&amp;gt;&lt;br&gt;
       &amp;lt;property name=&amp;quot;transactionManager&amp;quot; ref=&amp;quot;btmTransactionManager&amp;quot; /&amp;gt;&lt;br&gt;
       &amp;lt;property name=&amp;quot;userTransaction&amp;quot; ref=&amp;quot;btmTransactionManager&amp;quot;  /&amp;gt;&lt;br&gt;
 &amp;lt;/bean&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
and I end up with this error:&lt;br&gt;
&lt;br&gt;
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [bitronix.tm.BitronixTransactionManager] to required type [javax.transaction.TransactionManager] for property &amp;#39;transactionManager&amp;#39;; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [bitronix.tm.BitronixTransactionManager] to required type [javax.transaction.TransactionManager] for property &amp;#39;transactionManager&amp;#39;: no matching editors or conversion strategy found&lt;br&gt;

&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I have tried a few different configurations to get and insert the bitronix.tm.BitronixTransactionManager into the JtaTransactionManager bean, all with the same message that it can&amp;#39;t covert from the bitronix type object to the javax type; which doesn&amp;#39;t make any sense to me because the first implements the second.&lt;br&gt;

&lt;br&gt;
What am I missing? &lt;br&gt;
&lt;br&gt;---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bitronix.TM-to-spring.jtaTM-tp26382409p26385466.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26382409</id>
	<title>bitronix.TM to spring.jtaTM</title>
	<published>2009-11-16T16:29:46Z</published>
	<updated>2009-11-16T16:29:46Z</updated>
	<author>
		<name>jfc7fk</name>
	</author>
	<content type="html">I set up bitronix in Tomcat 6 according to the instruction on this page 
&lt;br&gt;: &lt;a href=&quot;http://docs.codehaus.org/display/BTM/Tomcat13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/BTM/Tomcat13&lt;/a&gt;&lt;br&gt;&lt;br&gt;I then configured spring like this, in the applicationContext.xml file :
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;bean id=&amp;quot;dataSource&amp;quot; 
&lt;br&gt;class=&amp;quot;org.springframework.jndi.JndiObjectFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;jndiName&amp;quot; value=&amp;quot;java:comp/env/dataSource&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/bean&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;bean id=&amp;quot;btmTransactionManager&amp;quot; class= 
&lt;br&gt;&amp;quot;org.springframework.jndi.JndiObjectFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;jndiName&amp;quot; value=&amp;quot;java:comp/UserTransaction&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/bean&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;bean id=&amp;quot;transactionManager&amp;quot; 
&lt;br&gt;class=&amp;quot;org.springframework.transaction.jta.JtaTransactionManager&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; depends-on=&amp;quot;btmTransactionManager&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;transactionManager&amp;quot; ref=&amp;quot;btmTransactionManager&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;userTransaction&amp;quot; ref=&amp;quot;btmTransactionManager&amp;quot; &amp;nbsp;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/bean&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;and I end up with this error:
&lt;br&gt;&lt;br&gt;&amp;nbsp;org.springframework.beans.TypeMismatchException: Failed to convert 
&lt;br&gt;property value of type [bitronix.tm.BitronixTransactionManager] to 
&lt;br&gt;required type [javax.transaction.TransactionManager] for property 
&lt;br&gt;'transactionManager'; nested exception is 
&lt;br&gt;java.lang.IllegalArgumentException: Cannot convert value of type 
&lt;br&gt;[bitronix.tm.BitronixTransactionManager] to required type 
&lt;br&gt;[javax.transaction.TransactionManager] for property 
&lt;br&gt;'transactionManager': no matching editors or conversion strategy found
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I have tried a few different configurations to get and insert the 
&lt;br&gt;bitronix.tm.BitronixTransactionManager into the JtaTransactionManager 
&lt;br&gt;bean, all with the same message that it can't covert from the bitronix 
&lt;br&gt;type object to the javax type; which doesn't make any sense to me 
&lt;br&gt;because the first implements the second.
&lt;br&gt;&lt;br&gt;What am I missing? 
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[aroundy.vcf]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;begin:vcard
&lt;br&gt;fn:Adam C Roundy
&lt;br&gt;n:Roundy;Adam C
&lt;br&gt;org:Partnet
&lt;br&gt;adr;dom:;;615 Arapeen Dr;Salt Lake City;UT;84108
&lt;br&gt;email;internet:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382409&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aroundy@...&lt;/a&gt;
&lt;br&gt;title:Software Engineer
&lt;br&gt;tel;work:801-581-1118 ex.5033
&lt;br&gt;x-mozilla-html:TRUE
&lt;br&gt;version:2.1
&lt;br&gt;end:vcard
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bitronix.TM-to-spring.jtaTM-tp26382409p26382409.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26370082</id>
	<title>Re: onMessage JMS</title>
	<published>2009-11-16T03:03:39Z</published>
	<updated>2009-11-16T03:03:39Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;Renato,
&lt;br&gt;&lt;br&gt;The short answer to your questions is: the only way to have asynchronous message handling with BTM is to use a Spring DefaultMessageListenerContainer (&lt;a href=&quot;http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html&lt;/a&gt;) or equivalent.
&lt;br&gt;[CUT CUT]
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
Ludovic, thank you again about your response... Ok, I use BTM only for iBatis (r/w) and push on queue... for enque from Oracle AQ I use (4 now) simple connection e commit/rollback non JTA.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;I am very busy by work, but I'm cutting out time to finish the guide for BTM and Oracle AQ to be made available to the community.
&lt;br&gt;&lt;br&gt;Thank you!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/onMessage-JMS-tp26265458p26370082.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26287188</id>
	<title>Re: onMessage JMS</title>
	<published>2009-11-10T09:03:48Z</published>
	<updated>2009-11-10T09:03:48Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">Renato,
&lt;br&gt;&lt;br&gt;The short answer to your questions is: the only way to have asynchronous message handling with BTM is to use a Spring DefaultMessageListenerContainer (&lt;a href=&quot;http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html&lt;/a&gt;) or equivalent.
&lt;br&gt;&lt;br&gt;In a nutshell, this is a class which starts a transaction, synchronously waits for a JMS message with a short timeout on the reception, rolls back the transaction if no message was read or send the message for processing to some worker when a message was read.
&lt;br&gt;&lt;br&gt;Polling the JMS container is the only portable way to get async messaging inside an XA transaction using only the JMS API. The onMessage() technique can't work because the JMS server would need a way to start a XA transaction &lt;i&gt;after&lt;/i&gt;&amp;nbsp;the message has been read. This technique was known as 'JMS Chapter 8' or 'ServerSessionPool stuff' but it proved to be unreliable, poorly specified and difficult to implement so this was dropped between J2EE 1.3 and J2EE 1.4 and replaced by JCA which offers this capability.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/onMessage-JMS-tp26265458p26287188.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268000</id>
	<title>Re: onMessage JMS</title>
	<published>2009-11-09T07:12:39Z</published>
	<updated>2009-11-09T07:12:39Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Renato Eschini wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;I have some implementation of MessageListener configured with BTM - OracleAQ, but it not work correctly, I know.... it not commit the get of message and I cant' commit a publish of new message in the topic.
&lt;br&gt;&lt;br&gt;What is the correct flow to implement in right way onMessage listner?
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
The question is: does BTM-JTA support asynchronus message handling?
&lt;br&gt;&lt;br&gt;Thanks</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/onMessage-JMS-tp26265458p26268000.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26265458</id>
	<title>onMessage JMS</title>
	<published>2009-11-09T04:15:57Z</published>
	<updated>2009-11-09T04:15:57Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">I have some implementation of MessageListener configured with BTM - OracleAQ, but it not work correctly, I know.... it not commit the get of message and I cant' commit a publish of new message in the topic.
&lt;br&gt;&lt;br&gt;What is the correct flow to implement in right way onMessage listner?
&lt;br&gt;&lt;br&gt;I obtain XASession and subscribe the listner ... the start of (User)transaction in onMessage is implicit? and in which way I commit or rollback the (User)transaction ?
&lt;br&gt;&lt;br&gt;thanks all!
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/onMessage-JMS-tp26265458p26265458.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26213522</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-05T04:25:32Z</published>
	<updated>2009-11-05T04:25:32Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">I found problem and solution.
&lt;br&gt;&lt;br&gt;Bitronix marks as readrollbackonly a transation after a time out.
&lt;br&gt;So when I call getcurrentsession from Hibernate, hibernate tries to syncronize transaction and session and it calls the registerSynchronization bitronix's method, but this method lanch a exception as code below
&lt;br&gt;&lt;br&gt;&amp;nbsp; if(status == 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new BitronixRollbackException(&amp;quot;transaction has been marked as rollback only&amp;quot;); 
&lt;br&gt;&lt;br&gt;In my facade I add a little code like this:
&lt;br&gt;&lt;br&gt;if (getUserTransaction().getStatus() == Status.STATUS_MARKED_ROLLBACK) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; getUserTransaction().rollback();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; getUserTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;and now all works fine.
&lt;br&gt;&lt;br&gt;I had difficult to find the solution becouse hibernate does't thow the bitronix exception but a own exception
&lt;br&gt;like
&lt;br&gt;throw new HibernateException( &amp;quot;Unable to register cleanup Synchronization with TransactionManager&amp;quot; ); 
&lt;br&gt;instead 
&lt;br&gt;Thown t &amp;nbsp;//where t is the Throwable hibernate exception
&lt;br&gt;&lt;br&gt;&lt;br&gt;p.s. I use hibernate 3.3
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;What version of Hibernate are you using?
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26213522.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26193174</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-04T01:26:06Z</published>
	<updated>2009-11-04T01:26:06Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">What version of Hibernate are you using?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26193174.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26193078</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-04T01:15:10Z</published>
	<updated>2009-11-04T01:15:10Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">I think taht my problem is localized in this code (but I don't know where)
&lt;br&gt;&lt;br&gt;&lt;br&gt;HIbernate JTASessionContext
&lt;br&gt;&lt;br&gt;public class JTASessionContext implements CurrentSessionContext {
&lt;br&gt;&lt;br&gt;public Session currentSession() throws HibernateException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TransactionManager transactionManager = factory.getTransactionManager();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( transactionManager == null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException( &amp;quot;No TransactionManagerLookup specified&amp;quot; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transaction txn = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; txn = transactionManager.getTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( txn == null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException( &amp;quot;Unable to locate current JTA transaction&amp;quot; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( !JTAHelper.isInProgress( txn.getStatus() ) ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // We could register the session against the transaction even though it is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // not started, but we'd have no guarentee of ever getting the map
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // entries cleaned up (aside from spawning threads).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException( &amp;quot;Current transaction is not in progress&amp;quot; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch ( HibernateException e ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch ( Throwable t ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException( &amp;quot;Problem locating/validating JTA transaction&amp;quot;, t );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Session currentSession = ( Session ) currentSessionMap.get( txn );
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( currentSession == null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentSession = buildOrObtainSession();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; txn.registerSynchronization( buildCleanupSynch( txn ) );//exception is here
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch ( Throwable t ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //********** why there ins't a t.printStackTrace() , so I can know excpetion type
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentSession.close();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch ( Throwable ignore ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.debug( &amp;quot;Unable to release generated current-session on failed synch registration&amp;quot;, ignore );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException( &amp;quot;Unable to register cleanup Synchronization with TransactionManager&amp;quot; ); //************** this is excpetion
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentSessionMap.put( txn, currentSession );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return currentSession;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;Bitronix Transaction code
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class BitronixTransaction
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Transaction, BitronixTransactionMBean
&lt;br&gt;{
&lt;br&gt;...
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public void registerSynchronization(Synchronization synchronization)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throws RollbackException, IllegalStateException, SystemException
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;//************** may be I forget a commit o rollback e call o is ther a timeout on session or transaction ??
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(status == 6)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new IllegalStateException(&amp;quot;transaction hasn't started yet&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(status == 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new BitronixRollbackException(&amp;quot;transaction has been marked as rollback only&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(isDone())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new IllegalStateException(&amp;quot;transaction is done, cannot register any more synchronization&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(log.isDebugEnabled())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.debug(&amp;quot;registering synchronization &amp;quot; + synchronization);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; synchronizationScheduler.add(synchronization, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26193078.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26180404</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-03T06:27:56Z</published>
	<updated>2009-11-03T06:27:56Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">&lt;br&gt;Exception Stacktrace
&lt;br&gt;&lt;br&gt;org.hibernate.HibernateException: Unable to register cleanup Synchronization
&lt;br&gt;with TransactionManager
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;it.cuneo.provincia.patterns.facade.SimpleHibernateFacade.readObject(SimpleHibernateFacade.java:118)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;it.cuneo.provincia.jsf.AbstractJSFHandler.getObjectForModel(AbstractJSFHandler.java:278)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;it.cuneo.provincia.jsf.AbstractJSFHandler.getObjectForModel(AbstractJSFHandler.java:309)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.jsp.sede_005fmodulo.view_005fdati_005ftecnici_005fsede_jsp._jspService(view_005fdati_005ftecnici_005fsede_jsp.java:127)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... (none references at bitronix packages)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my facade
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; it.cuneo.provincia.patterns.facade.SimpleHibernateFacade
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Object readObject(Class classe, java.io.Serializable pk)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throws HibernateException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (pk == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException(&amp;quot;Primary key not specified&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Session se = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object obj = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.openTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; se = getHibernateSessionFactory().getCurrentSession();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj = se.get(classe, pk);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;commit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rollback();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } finally {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (se != null &amp;&amp; se.isOpen()) se.clear(); 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return obj;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void openTransaction() throws FacadeException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (getUserTransaction().getStatus() == Status.STATUS_NO_TRANSACTION) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; getUserTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (NotSupportedException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SystemException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public UserTransaction getUserTransaction() throws FacadeException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (javax.transaction.UserTransaction) loadJndiResource(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new InitialContext(), &amp;quot;java:comp/env/UserTransaction&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (NamingException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;public void commit() throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserTransaction currentTransaction = getUserTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (currentTransaction != null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; currentTransaction.getStatus() == Status.STATUS_ACTIVE)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentTransaction.commit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void rollback() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserTransaction currentTransaction = getUserTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (currentTransaction != null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; currentTransaction.getStatus() == Status.STATUS_ACTIVE)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentTransaction.rollback();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Impossibile eseguire il rollback &amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Ludovic Orban wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; That's a bit too vague to provide any help.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Could you please post the full stack trace and explain a bit how you
&lt;br&gt;&amp;gt; actually configured BTM, how you deloyed it and how you're using it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;View this message in context: &lt;a href=&quot;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26160155.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26160155.html&lt;/a&gt;&lt;br&gt;Sent from the Bitronix Transaction Manager mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26180404.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26160153</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-03T06:20:01Z</published>
	<updated>2009-11-03T06:20:01Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">Exception Stacktrace
&lt;br&gt;&lt;br&gt;org.hibernate.HibernateException: Unable to register cleanup Synchronization with TransactionManager
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at it.cuneo.provincia.patterns.facade.SimpleHibernateFacade.readObject(SimpleHibernateFacade.java:118)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at it.cuneo.provincia.jsf.AbstractJSFHandler.getObjectForModel(AbstractJSFHandler.java:278)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at it.cuneo.provincia.jsf.AbstractJSFHandler.getObjectForModel(AbstractJSFHandler.java:309)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jsp.sede_005fmodulo.view_005fdati_005ftecnici_005fsede_jsp._jspService(view_005fdati_005ftecnici_005fsede_jsp.java:127)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... (none references at bitronix packages)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my facade
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; it.cuneo.provincia.patterns.facade.SimpleHibernateFacade
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Object readObject(Class classe, java.io.Serializable pk)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throws HibernateException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (pk == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException(&amp;quot;Primary key not specified&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Session se = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object obj = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.openTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; se = getHibernateSessionFactory().getCurrentSession();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj = se.get(classe, pk);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;commit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rollback();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new HibernateException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } finally {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (se != null &amp;&amp; se.isOpen()) se.clear(); 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return obj;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void openTransaction() throws FacadeException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (getUserTransaction().getStatus() == Status.STATUS_NO_TRANSACTION) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; getUserTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (NotSupportedException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SystemException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public UserTransaction getUserTransaction() throws FacadeException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (javax.transaction.UserTransaction) loadJndiResource(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new InitialContext(), &amp;quot;java:comp/env/UserTransaction&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (NamingException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new FacadeException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;public void commit() throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserTransaction currentTransaction = getUserTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (currentTransaction != null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; currentTransaction.getStatus() == Status.STATUS_ACTIVE)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentTransaction.commit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void rollback() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserTransaction currentTransaction = getUserTransaction();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (currentTransaction != null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;&amp; currentTransaction.getStatus() == Status.STATUS_ACTIVE)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentTransaction.rollback();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Impossibile eseguire il rollback &amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;That's a bit too vague to provide any help.
&lt;br&gt;&lt;br&gt;Could you please post the full stack trace and explain a bit how you actually configured BTM, how you deloyed it and how you're using it?
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26160153.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26180262</id>
	<title>Re: Bitronix and ActiveMQ</title>
	<published>2009-11-03T06:17:04Z</published>
	<updated>2009-11-03T06:17:04Z</updated>
	<author>
		<name>Gérald Quintana</name>
	</author>
	<content type="html">Exactly!
&lt;br&gt;&lt;br&gt;I didn&amp;quot;t use the transaction-manager attribute in the Spring
&lt;br&gt;Integration message-driven-channel-adapter element.
&lt;br&gt;Well, for my defense I would say that Spring Integration reference is
&lt;br&gt;not that clear about it.
&lt;br&gt;&lt;br&gt;Thanks for your help Ludovic, it's very valuable as usual.
&lt;br&gt;&lt;br&gt;Gérald
&lt;br&gt;&lt;br&gt;2009/11/2 Ludovic Orban &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26180262&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ludovic.orban@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; Without the full stack trace it's hard to say what the exact cause is.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm guessing that this has to do with the DefaultMessageListenerContainer
&lt;br&gt;&amp;gt; trying to read messages outside of a transaction context but I would need
&lt;br&gt;&amp;gt; more details (ie: relevant parts of your spring config) to confirm.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bitronix-and-ActiveMQ-tp26162941p26180262.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26169864</id>
	<title>Re: Bitronix and ActiveMQ</title>
	<published>2009-11-02T12:05:41Z</published>
	<updated>2009-11-02T12:05:41Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">Without the full stack trace it&amp;#39;s hard to say what the exact cause is.&lt;br&gt;&lt;br&gt;I&amp;#39;m guessing that this has to do with the DefaultMessageListenerContainer trying to read messages outside of a transaction context but I would need more details (ie: relevant parts of your spring config) to confirm.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/2 Gérald Quintana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26169864&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gerald.quintana@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hello,&lt;br&gt;
&lt;br&gt;
When my application connects to the Bitronix provided JMS connection,&lt;br&gt;
I get the following error:&lt;br&gt;
&lt;br&gt;
13:09:44,512 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-77]&lt;br&gt;
INFO DefaultMessageListenerContainer - Setup of JMS message listener&lt;br&gt;
invoker failed for destination &amp;#39;xxx.Queue&amp;#39; - trying to recover. Cause:&lt;br&gt;
error enlisting a MessageConsumerWrapper of a DualSessionWrapper in&lt;br&gt;
state ACCESSIBLE of a JmsPooledConnection of pool&lt;br&gt;
jms/xaConnectionFactory in state ACCESSIBLE with underlying connection&lt;br&gt;
ActiveMQConnection&lt;br&gt;
{id=ID:XXXX-2283-1257163323393-0:2,clientId=ID:XXXX-2283-1257163323393-1:2,started=true}&lt;br&gt;
with 1 opened session(s)&lt;br&gt;
&lt;br&gt;
What does it mean? And what can I do?&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Gérald&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bitronix-and-ActiveMQ-tp26162941p26169864.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26157803</id>
	<title>Re: Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-02T12:03:53Z</published>
	<updated>2009-11-02T12:03:53Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">That's a bit too vague to provide any help.
&lt;br&gt;&lt;br&gt;Could you please post the full stack trace and explain a bit how you actually configured BTM, how you deloyed it and how you're using it?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26157803.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26162941</id>
	<title>Bitronix and ActiveMQ</title>
	<published>2009-11-02T04:21:22Z</published>
	<updated>2009-11-02T04:21:22Z</updated>
	<author>
		<name>Gérald Quintana</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;When my application connects to the Bitronix provided JMS connection,
&lt;br&gt;I get the following error:
&lt;br&gt;&lt;br&gt;13:09:44,512 [org.springframework.jms.listener.DefaultMessageListenerContainer#1-77]
&lt;br&gt;INFO DefaultMessageListenerContainer - Setup of JMS message listener
&lt;br&gt;invoker failed for destination 'xxx.Queue' - trying to recover. Cause:
&lt;br&gt;error enlisting a MessageConsumerWrapper of a DualSessionWrapper in
&lt;br&gt;state ACCESSIBLE of a JmsPooledConnection of pool
&lt;br&gt;jms/xaConnectionFactory in state ACCESSIBLE with underlying connection
&lt;br&gt;ActiveMQConnection
&lt;br&gt;{id=ID:XXXX-2283-1257163323393-0:2,clientId=ID:XXXX-2283-1257163323393-1:2,started=true}
&lt;br&gt;with 1 opened session(s)
&lt;br&gt;&lt;br&gt;What does it mean? And what can I do?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Gérald
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bitronix-and-ActiveMQ-tp26162941p26162941.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26161868</id>
	<title>Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-02T02:42:29Z</published>
	<updated>2009-11-02T02:42:29Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">&lt;br&gt;I use bitronix 1.3 with a cluster of tomcat6 and hibernate.
&lt;br&gt;When i deploy or redeploy a application, I get a hibernateexception &amp;quot;Unable
&lt;br&gt;to register cleanup Synchronization with TransactionManager&amp;quot;.
&lt;br&gt;If restart tomcat cluster all work fine.
&lt;br&gt;-- 
&lt;br&gt;View this message in context: &lt;a href=&quot;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156666p26156666.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156666p26156666.html&lt;/a&gt;&lt;br&gt;Sent from the Bitronix Transaction Manager mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26161868p26161868.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26161859</id>
	<title>Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-02T02:40:24Z</published>
	<updated>2009-11-02T02:40:24Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">&lt;br&gt;I use bitronix 1.3 with a cluster of tomcat6 and hibernate.
&lt;br&gt;When i deploy or redeploy a application, I get a hibernateexception &amp;quot;Unable
&lt;br&gt;to register cleanup Synchronization with TransactionManager&amp;quot;.
&lt;br&gt;If restart tomcat cluster all work fine.
&lt;br&gt;-- 
&lt;br&gt;View this message in context: &lt;a href=&quot;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156664p26156664.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156664p26156664.html&lt;/a&gt;&lt;br&gt;Sent from the Bitronix Transaction Manager mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26161859p26161859.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26156662</id>
	<title>Unable to register cleanup Synchronization with TransactionManager</title>
	<published>2009-11-02T02:39:48Z</published>
	<updated>2009-11-02T02:39:48Z</updated>
	<author>
		<name>Wb61</name>
	</author>
	<content type="html">I use bitronix 1.3 with a cluster of tomcat6 and hibernate.
&lt;br&gt;When i deploy or redeploy a application, I get a hibernateexception &amp;quot;Unable to register cleanup Synchronization with TransactionManager&amp;quot;.
&lt;br&gt;If restart tomcat cluster all work fine.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unable-to-register-cleanup-Synchronization-with-TransactionManager-tp26156662p26156662.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26133659</id>
	<title>Re: BTM 1.3.3 released</title>
	<published>2009-10-30T10:05:56Z</published>
	<updated>2009-10-30T10:05:56Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">It's been my pleasure, I really enjoy working with such a dedicated community.
&lt;br&gt;&lt;br&gt;I once again hope I'll manage to make releases of shorter cycles but only time will tell...</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BTM-1.3.3-released-tp26048023p26133659.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26133621</id>
	<title>Re: Oracle JMS AQ</title>
	<published>2009-10-30T10:03:42Z</published>
	<updated>2009-10-30T10:03:42Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">I'm happy to hear you finally managed to get Oracle AQ working.
&lt;br&gt;&lt;br&gt;If you write a short tutorial on things one need to do I'll happily include that in the wiki.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Ludovic </content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26133621.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26127117</id>
	<title>Re: Oracle JMS AQ</title>
	<published>2009-10-30T02:27:31Z</published>
	<updated>2009-10-30T02:27:31Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">Sorry, I have post wrong code in AdtMessage creation line, this is corrected code
&lt;br&gt;&lt;br&gt;5) &amp;nbsp;#################### &amp;nbsp; RIGHT WAY &amp;nbsp;##########################
&lt;br&gt;Connection connection = myConnectionFactory.createConnection();
&lt;br&gt;Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;Topic topic = session.createTopic(Configuration.getJmsOracleXmlMessageTopic());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;DualSessionWrapper dualSessionWrapper = (DualSessionWrapper)session;
&lt;br&gt;AQjmsXASession aQjmsXASession = (AQjmsXASession) dualSessionWrapper.getSession();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;StringWriter stringWriter = new StringWriter();
&lt;br&gt;XMLType xml = new XMLType(aQjmsXASession.getDBConnection(), stringWriter.toString());
&lt;br&gt;AdtMessage message = aQjmsXASession.createAdtMessage();
&lt;br&gt;message.setAdtPayload(xml);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;MessageProducer publisher = session.createProducer(topic);
&lt;br&gt;publisher.send(message);
&lt;br&gt;&lt;br&gt;ut.commit();
&lt;br&gt;&lt;br&gt;// ut.rollback(); //if somethig was wrong........
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26127117.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26127021</id>
	<title>Re: Oracle JMS AQ</title>
	<published>2009-10-30T02:18:57Z</published>
	<updated>2009-10-30T02:18:57Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">SOLVED!
&lt;br&gt;Now I have jdbc/iBatis + jms/oracle + tomcat in BTM-JTA fashion!!! :)
&lt;br&gt;&lt;br&gt;The problem was in code where I &amp;nbsp;have create xaconnection... if I call it directly &amp;nbsp;(point 5 of my previus post) I obtain an unregister XAResource...
&lt;br&gt;&lt;br&gt;#################### &amp;nbsp; WRONG WAY &amp;nbsp;##########################
&lt;br&gt;XAConnection xaConnection = btmJCH.getXAConnection();
&lt;br&gt;xaConnection.start(); // start connection
&lt;br&gt;AQjmsXAConnection aQjmsXAConnection = (AQjmsXAConnection) xaConnection;
&lt;br&gt;XATopicSession xaTopicSession = aQjmsXAConnection.createXATopicSession(); 
&lt;br&gt;#################### &amp;nbsp; WRONG WAY &amp;nbsp;##########################
&lt;br&gt;&lt;br&gt;I'll post my solution (the modified point 5 of my previous post), if you want, I can write it in a how-to/wiki article style for publish this experience in BTM wiki.... tell me...
&lt;br&gt;&lt;br&gt;point 1, 2, 3, 4 was correct and wasn't modified... the point 5 was correct in this way
&lt;br&gt;&lt;br&gt;5) &amp;nbsp;#################### &amp;nbsp; RIGHT WAY &amp;nbsp;##########################
&lt;br&gt;Context initContext = new InitialContext();
&lt;br&gt;PoolingConnectionFactory myConnectionFactory = (PoolingConnectionFactory) initContext.lookup(&amp;quot;java:comp/env/jms/oracle&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;UserTransaction ut = (UserTransaction) initContext.lookup(&amp;quot;java:comp/UserTransaction&amp;quot;);
&lt;br&gt;ut.begin(); 
&lt;br&gt;&lt;br&gt;Connection connection = myConnectionFactory.createConnection();
&lt;br&gt;Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;Topic topic = session.createTopic(Configuration.getJmsOracleXmlMessageTopic());
&lt;br&gt;&lt;br&gt;DualSessionWrapper dualSessionWrapper = (DualSessionWrapper)session;
&lt;br&gt;AQjmsXASession aQjmsXASession = (AQjmsXASession) dualSessionWrapper.getSession();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;StringWriter stringWriter = ....; // contain my XML Payload....
&lt;br&gt;XMLType xml = new XMLType(qjmsXASession.getDBConnection(), stringWriter.toString());
&lt;br&gt;AdtMessage message = ((AQjmsXASession)xaTopicSession).createAdtMessage();
&lt;br&gt;message.setAdtPayload(xml);
&lt;br&gt;&lt;br&gt;&lt;br&gt;MessageProducer publisher = session.createProducer(topic);
&lt;br&gt;publisher.send(message);
&lt;br&gt;&lt;br&gt;&lt;br&gt;ut.commit();
&lt;br&gt;&lt;br&gt;// ut.rollback(); //if somethig was wrong........
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks Ludovic!!!!! Thanks BTM!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26127021.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26122680</id>
	<title>Re: Oracle JMS AQ</title>
	<published>2009-10-29T16:37:03Z</published>
	<updated>2009-10-29T16:37:03Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">Thanks for your replay Ludovic!
&lt;br&gt;&lt;br&gt;I decided to follow the first choice so I implemented XAConnectionFactory, configure it in resource loader propery file, bind it in context.xml (tomcat integration) and write some line of code in my utility class to get Pooling connection from jndi and create session and publisher..... at end of this post I'll publish my solution.
&lt;br&gt;&lt;br&gt;But I have encuntered a problem... I'think XAConnection that I retrive from pool isn't an enlisted resources... &amp;nbsp;the BTM warning log is explicity when I try to ut.commit() a user transaction:
&lt;br&gt;&lt;br&gt;29-Oct-2009 23:45:19 bitronix.tm.twopc.Preparer prepare
&lt;br&gt;WARNING: executing transaction with 0 enlisted resource
&lt;br&gt;&lt;br&gt;the only logical difference between JndiXAConnectionFactory and my OracleXATopicConnectionFactory is that mine solution implements XATopicConnectionFactory, beacuse I need a topic in my app.
&lt;br&gt;&lt;br&gt;&lt;br&gt;In my numerous tests I have try to insert the correponding XAResource in transaction manager in this way:
&lt;br&gt;&lt;br&gt;BitronixTransactionManager btm = (BitronixTransactionManager) ut;
&lt;br&gt;btm.getTransaction().enlistResource(xaTopicSession.getXAResource());
&lt;br&gt;&lt;br&gt;and btm throw 
&lt;br&gt;bitronix.tm.internal.BitronixSystemException: unknown XAResource oracle.jms.AQjmsXAResource@112bc7b, it does not belong to a registered resource
&lt;br&gt;&lt;br&gt;I don't know why this is not registered in btm... can you tell me something about it? 
&lt;br&gt;&lt;br&gt;Follow what I did....
&lt;br&gt;&lt;br&gt;1) IMPLEMENTATION OF XATopicConnectionFactory
&lt;br&gt;public class OracleXATopicConnectionFactory implements XATopicConnectionFactory {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String driver;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String url;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String user;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String pwd;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private OracleXADataSource oracleXADataSource = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void init() throws SQLException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (oracleXADataSource == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oracleXADataSource = new OracleXADataSource();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oracleXADataSource.setURL(url);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oracleXADataSource.setUser(user);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oracleXADataSource.setPassword(pwd);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public XAConnection createXAConnection() throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; init();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XATopicConnectionFactory xaConnectionFactory = AQjmsFactory.getXATopicConnectionFactory(oracleXADataSource);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XATopicConnection xaConnection = xaConnectionFactory.createXATopicConnection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return xaConnection;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SQLException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new JMSException(e.getMessage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public XAConnection createXAConnection(String userName, String password) throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // I don't use userName and password beacuse I have oracleXADataSource....
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return createXAConnection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public XATopicConnection createXATopicConnection() throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public XATopicConnection createXATopicConnection(String userName, String password) throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection(userName, password);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public TopicConnection createTopicConnection() throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public TopicConnection createTopicConnection(String userName, String password) throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection(userName, password);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Connection createConnection() throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Connection createConnection(String userName, String password) throws JMSException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (XATopicConnection) createXAConnection(userName, password);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String getDriver() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return driver;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void setDriver(String driver) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.driver = driver;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String getUrl() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return url;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void setUrl(String url) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.url = url;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String getUser() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return user;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void setUser(String user) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.user = user;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String getPwd() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return pwd;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void setPwd(String pwd) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.pwd = pwd;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;2) RESOURCE.PROPERTIES
&lt;br&gt;# used in iBatis is OK
&lt;br&gt;resource.ds.className=oracle.jdbc.xa.client.OracleXADataSource
&lt;br&gt;resource.ds.uniqueName=jdbc/oracle
&lt;br&gt;resource.ds.maxPoolSize=5
&lt;br&gt;resource.ds.driverProperties.user=JDBC_USER
&lt;br&gt;resource.ds.driverProperties.password=JDBC_PWD
&lt;br&gt;resource.ds.driverProperties.URL=jdbc:oracle:thin:@localhost:1521:XE
&lt;br&gt;&lt;br&gt;# this is for Oracle JMS impl.
&lt;br&gt;resource.t.className=it.inera.oracle.jms.OracleXATopicConnectionFactory
&lt;br&gt;resource.t.uniqueName=jms/oracle
&lt;br&gt;resource.t.maxPoolSize=5
&lt;br&gt;resource.t.driverProperties.driver=oracle.jdbc.xa.client.OracleXADataSource
&lt;br&gt;resource.t.driverProperties.user=AQ_USER
&lt;br&gt;resource.t.driverProperties.pwd=AQ_PWD
&lt;br&gt;resource.t.driverProperties.url=jdbc:oracle:thin:@localhost:1521:XE
&lt;br&gt;&lt;br&gt;3) CONTEXT.XML
&lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;lt;Context docBase=&amp;quot;MyApp&amp;quot; path=&amp;quot;/MyApp&amp;quot; reloadable=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Resource 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name=&amp;quot;jdbc/oracle&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; auth=&amp;quot;Container&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type=&amp;quot;javax.sql.DataSource&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; factory=&amp;quot;bitronix.tm.resource.ResourceObjectFactory&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uniqueName=&amp;quot;jdbc/oracle&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Resource 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name=&amp;quot;jms/oracle&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; auth=&amp;quot;Container&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type=&amp;quot;javax.sql.DataSource&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; factory=&amp;quot;bitronix.tm.resource.ResourceObjectFactory&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uniqueName=&amp;quot;jms/oracle&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
&lt;br&gt;&amp;lt;/Context&amp;gt;
&lt;br&gt;&lt;br&gt;4) WEB.XML ENTRY (isn't necessary in tomcat 5.5.X
&lt;br&gt;&amp;lt;resource-env-ref&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;resource-env-ref-name&amp;gt;jdbc/oracle&amp;lt;/resource-env-ref-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;resource-env-ref-type&amp;gt;javax.sql.DataSource&amp;lt;/resource-env-ref-type&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/resource-env-ref&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;resource-env-ref&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;resource-env-ref-name&amp;gt;jms/oracle&amp;lt;/resource-env-ref-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;resource-env-ref-type&amp;gt;javax.sql.DataSource&amp;lt;/resource-env-ref-type&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/resource-env-ref&amp;gt;	
&lt;br&gt;&lt;br&gt;5) CODE TO OBTAIN XATOPIC IN SERVLET-TOMCAT ENVIRONMENT
&lt;br&gt;&lt;br&gt;Context initContext = new InitialContext();
&lt;br&gt;PoolingConnectionFactory myConnectionFactory = (PoolingConnectionFactory) initContext.lookup(&amp;quot;java:comp/env/jms/oracle&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;UserTransaction ut = (UserTransaction) initContext.lookup(&amp;quot;java:comp/UserTransaction&amp;quot;);	
&lt;br&gt;ut.begin();
&lt;br&gt;&lt;br&gt;&lt;br&gt;Connection connection = myConnectionFactory.createConnection();
&lt;br&gt;JmsConnectionHandle btmJCH = (JmsConnectionHandle) connection;
&lt;br&gt;&lt;br&gt;XAConnection xaConnection = btmJCH.getXAConnection();
&lt;br&gt;xaConnection.start(); // start connection
&lt;br&gt;AQjmsXAConnection aQjmsXAConnection = (AQjmsXAConnection) xaConnection;
&lt;br&gt;XATopicSession xaTopicSession = aQjmsXAConnection.createXATopicSession();
&lt;br&gt;&lt;br&gt;&lt;br&gt;AQjmsXASession qjmsXASession = (AQjmsXASession) xaTopicSession;
&lt;br&gt;Topic t = qjmsXASession.createTopic(Configuration.getJmsOracleXmlMessageTopic());
&lt;br&gt;&lt;br&gt;&lt;br&gt;/*
&lt;br&gt;&amp;nbsp;* CREATE PAYLOAD IN ORACLE FASHION
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;StringWriter stringWriter = ....; // contain my XML Payload....
&lt;br&gt;XMLType xml = new XMLType(qjmsXASession.getDBConnection(), stringWriter.toString());
&lt;br&gt;AdtMessage message = ((AQjmsXASession)xaTopicSession).createAdtMessage();
&lt;br&gt;message.setAdtPayload(xml);
&lt;br&gt;&lt;br&gt;TopicPublisher &amp;nbsp;messageProducer &amp;nbsp;= (TopicPublisher) xaTopicSession.createProducer(t);
&lt;br&gt;messageProducer.publish(t,message);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;connection.close();
&lt;br&gt;xaTopicSession.close();
&lt;br&gt;&lt;br&gt;&lt;br&gt;ut.commit();
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Against ut.commit(); BTM log a
&lt;br&gt;&lt;br&gt;WARNING: executing transaction with 0 enlisted resource
&lt;br&gt;&lt;br&gt;&lt;br&gt;I think that BTM don't register the XAOracleDataSource or somthing about it....
&lt;br&gt;&lt;br&gt;&lt;br&gt;thank you in advance for your patience :)
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26122680.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26115240</id>
	<title>Re: BTM 1.3.3 released</title>
	<published>2009-10-29T08:27:08Z</published>
	<updated>2009-10-29T08:27:08Z</updated>
	<author>
		<name>James House</name>
	</author>
	<content type="html">&lt;br&gt;Thanks a bunch, for a great product Ludovic!
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BTM-1.3.3-released-tp26048023p26115240.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26099898</id>
	<title>Re: Oracle JMS AQ</title>
	<published>2009-10-28T11:40:40Z</published>
	<updated>2009-10-28T11:40:40Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">Oracle AQ really is a special JMS implementation, to say the least.
&lt;br&gt;&lt;br&gt;You first need to get some queues created with the DBMS_AQJMS PL/SQL package. You then need some privileges:
&lt;br&gt;&lt;br&gt;&amp;nbsp;* ENQUEUE rights on all queues you're going to send to
&lt;br&gt;&amp;nbsp;* DEQUEUE rights on all queuse you're going to receive from 
&lt;br&gt;&amp;nbsp;* EXECUTE rights on DBMS_AQJMS
&lt;br&gt;&amp;nbsp;* EXECUTE rights on DBMS_AQIN
&lt;br&gt;&lt;br&gt;After that's done you're still facing a dilemma: Oracle provides a weird way to get a XAConnectionFactory, via a AQjmsFactory helper class' static method (see: &lt;a href=&quot;http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12023/oracle/jms/AQjmsFactory.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12023/oracle/jms/AQjmsFactory.html&lt;/a&gt;) and BTM unfortunately has no support for such an exotic mechanism. So you basically have two choices:
&lt;br&gt;&lt;br&gt;&amp;nbsp;- Write your own XAConnectionFactory implementation, make it use AQjmsFactory and configure it in BTM. It shouldn't be very hard as there are only two methods to implement (&lt;a href=&quot;http://www.j2ee.me/j2ee/1.4/docs/api/javax/jms/XAConnectionFactory.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.j2ee.me/j2ee/1.4/docs/api/javax/jms/XAConnectionFactory.html&lt;/a&gt;) plus a few getters/setters for configurable data you'll need to call getXAQueueConnectionFactory(). Have a look at the source code of JndiXAConnectionFactory to get an example of how to do this: &lt;a href=&quot;http://fisheye.codehaus.org/browse/btm/branches/1.3.3/src/bitronix/tm/resource/jms/JndiXAConnectionFactory.java?r=HEAD&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fisheye.codehaus.org/browse/btm/branches/1.3.3/src/bitronix/tm/resource/jms/JndiXAConnectionFactory.java?r=HEAD&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;- Wrap the non-XA AQjmsConnectionFactory (&lt;a href=&quot;http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12023/oracle/jms/AQjmsConnectionFactory.html)in&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12023/oracle/jms/AQjmsConnectionFactory.html)in&lt;/a&gt;&amp;nbsp;a LrcXAConnectionFactory (see: &lt;a href=&quot;http://docs.codehaus.org/display/BTM/LastResourceCommitJms13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/BTM/LastResourceCommitJms13&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;Let me know if that helps.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26099898.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26097821</id>
	<title>Oracle JMS AQ</title>
	<published>2009-10-28T09:31:25Z</published>
	<updated>2009-10-28T09:31:25Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;is possibile to integrate Oracle JMS AQ with BTM and Tomcat?
&lt;br&gt;&lt;br&gt;I made a lot of experimental configuration with resource loader, context.xml ecc... without success...
&lt;br&gt;&lt;br&gt;I'm bit confusing....
&lt;br&gt;&lt;br&gt;Has someone did it? An example or guideline?
&lt;br&gt;&lt;br&gt;Thanks all!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Oracle-JMS-AQ-tp26097821p26097821.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26092746</id>
	<title>Re: Tomcat Integration</title>
	<published>2009-10-28T04:04:29Z</published>
	<updated>2009-10-28T04:04:29Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;I think btm-tomcat55-lifecycle.jar should go in $TOMCAT_HOME/server/lib and not $TOMCAT_HOME/common/lib in Tomcat 5.5. The other JARs should still go in $TOMCAT_HOME/common/lib.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
Thanks! It works!!!</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tomcat-Integration-tp26084444p26092746.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26084863</id>
	<title>Re: Tomcat Integration</title>
	<published>2009-10-27T13:52:01Z</published>
	<updated>2009-10-27T13:52:01Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">I think btm-tomcat55-lifecycle.jar should go in $TOMCAT_HOME/server/lib and not $TOMCAT_HOME/common/lib in Tomcat 5.5. The other JARs should still go in $TOMCAT_HOME/common/lib.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tomcat-Integration-tp26084444p26084863.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26084444</id>
	<title>Tomcat Integration</title>
	<published>2009-10-27T13:42:55Z</published>
	<updated>2009-10-27T13:42:55Z</updated>
	<author>
		<name>Renato Eschini</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;I'm tring to integrate btm 1.3.3 with apache-tomcat-5.5.27. I follow the guide at &lt;a href=&quot;http://docs.codehaus.org/display/BTM/Tomcat13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/BTM/Tomcat13&lt;/a&gt;&amp;nbsp;but I have thi error when Tomcat start:
&lt;br&gt;&lt;br&gt;27-Oct-2009 21:31:56 org.apache.tomcat.util.digester.Digester startElement
&lt;br&gt;SEVERE: Begin event threw error
&lt;br&gt;java.lang.NoClassDefFoundError: org/apache/catalina/LifecycleListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.defineClass1(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.SecureClassLoader.defineClass(SecureClassLoader.jav
&lt;br&gt;a:124)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCrea
&lt;br&gt;teRule.java:205)
&lt;br&gt;&lt;br&gt;ecc...
&lt;br&gt;&lt;br&gt;The only thing that difference from guide is about Tomcat's lib: for m the guide refereds at common/lib so I put all required jars under common/lib....
&lt;br&gt;&lt;br&gt;The tomcat installation is fresh and running under ubuntu 9.04 and java version &amp;quot;1.6.0_16&amp;quot;.
&lt;br&gt;&lt;br&gt;I saw in forum that more users have integrated btm in tomcat 5.5.27 successfull... I hope that some one can help me...
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Renato</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tomcat-Integration-tp26084444p26084444.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26076850</id>
	<title>Re: Connection pooling</title>
	<published>2009-10-27T05:30:34Z</published>
	<updated>2009-10-27T05:30:34Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">The performance hit of the test query usually isn&amp;#39;t that high.&lt;br&gt;&lt;br&gt;As an alternative if you know for sure the DB is restarted when there are no users you could set the minPoolSize to zero, make sure the maxIdleTime isn&amp;#39;t too high and also make sure the pool is left untouched long enough for all connections to become inactive. The pool will then close them all and re-open them when activity starts over again.&lt;br&gt;
&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/10/27 Gérald Quintana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26076850&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gerald.quintana@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Thanks for your answer Ludovic,&lt;br&gt;
&lt;br&gt;
At first, I imagined this solution. But I think it would be bad for&lt;br&gt;
performances: I loose connections only once a day, and the test query&lt;br&gt;
would be executed all day long (too many times). What&amp;#39;s your&lt;br&gt;
experience/opinion?&lt;br&gt;
&lt;br&gt;
Then during the night, the application is not used anymore so I don&amp;#39;t&lt;br&gt;
understand why connections are kept opened.&lt;br&gt;
&lt;br&gt;
Finally is there something (JMX MBean or other) to control (I mean&lt;br&gt;
monitor opened connection, force closing) connection pools described&lt;br&gt;
in resources.properties?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Gérald&lt;br&gt;
&lt;br&gt;
2009/10/27 Ludovic Orban &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26076850&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ludovic.orban@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&amp;gt; You should set a test query on your connection pool, see:&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&lt;/a&gt;&lt;br&gt;

&amp;gt;&lt;br&gt;
&amp;gt; 2009/10/27 Gérald Quintana &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26076850&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gerald.quintana@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Hello,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; For some weird reason I won&amp;#39;t explain, the Oracle database I am using&lt;br&gt;
&amp;gt;&amp;gt; is restarted&lt;br&gt;
&amp;gt;&amp;gt; every night. Since I introduced Bitronix connection pooling (the&lt;br&gt;
&amp;gt;&amp;gt; problem didn&amp;#39;t occur with DBCP), every morning the application is&lt;br&gt;
&amp;gt;&amp;gt; dead: Each access to the database results in the following exception:&lt;br&gt;
&amp;gt;&amp;gt; Caused by: java.sql.SQLException: Connexion interrompue&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)&lt;br&gt;
&amp;gt;&amp;gt;       at&lt;br&gt;
&amp;gt;&amp;gt; bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)&lt;br&gt;
&amp;gt;&amp;gt;       ... 9 more&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Restarting the application server (Tomcat) does the trick, but it is&lt;br&gt;
&amp;gt;&amp;gt; not satisfactory solution.&lt;br&gt;
&amp;gt;&amp;gt; Why do these stale connections remain in the pool?&lt;br&gt;
&amp;gt;&amp;gt; What can I do to evict them?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanks for your help,&lt;br&gt;
&amp;gt;&amp;gt; Gérald&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe from this list, please visit:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Connection-pooling-tp26075140p26076850.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26075496</id>
	<title>Re: Connection pooling</title>
	<published>2009-10-27T03:40:25Z</published>
	<updated>2009-10-27T03:40:25Z</updated>
	<author>
		<name>Gérald Quintana</name>
	</author>
	<content type="html">Thanks for your answer Ludovic,
&lt;br&gt;&lt;br&gt;At first, I imagined this solution. But I think it would be bad for
&lt;br&gt;performances: I loose connections only once a day, and the test query
&lt;br&gt;would be executed all day long (too many times). What's your
&lt;br&gt;experience/opinion?
&lt;br&gt;&lt;br&gt;Then during the night, the application is not used anymore so I don't
&lt;br&gt;understand why connections are kept opened.
&lt;br&gt;&lt;br&gt;Finally is there something (JMX MBean or other) to control (I mean
&lt;br&gt;monitor opened connection, force closing) connection pools described
&lt;br&gt;in resources.properties?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Gérald
&lt;br&gt;&lt;br&gt;2009/10/27 Ludovic Orban &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26075496&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ludovic.orban@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; You should set a test query on your connection pool, see:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/10/27 Gérald Quintana &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26075496&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gerald.quintana@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; For some weird reason I won't explain, the Oracle database I am using
&lt;br&gt;&amp;gt;&amp;gt; is restarted
&lt;br&gt;&amp;gt;&amp;gt; every night. Since I introduced Bitronix connection pooling (the
&lt;br&gt;&amp;gt;&amp;gt; problem didn't occur with DBCP), every morning the application is
&lt;br&gt;&amp;gt;&amp;gt; dead: Each access to the database results in the following exception:
&lt;br&gt;&amp;gt;&amp;gt; Caused by: java.sql.SQLException: Connexion interrompue
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
&lt;br&gt;&amp;gt;&amp;gt;       at
&lt;br&gt;&amp;gt;&amp;gt; bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
&lt;br&gt;&amp;gt;&amp;gt;       ... 9 more
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Restarting the application server (Tomcat) does the trick, but it is
&lt;br&gt;&amp;gt;&amp;gt; not satisfactory solution.
&lt;br&gt;&amp;gt;&amp;gt; Why do these stale connections remain in the pool?
&lt;br&gt;&amp;gt;&amp;gt; What can I do to evict them?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks for your help,
&lt;br&gt;&amp;gt;&amp;gt; Gérald
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Connection-pooling-tp26075140p26075496.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26075269</id>
	<title>Re: Connection pooling</title>
	<published>2009-10-27T03:25:08Z</published>
	<updated>2009-10-27T03:25:08Z</updated>
	<author>
		<name>Ludovic Orban</name>
	</author>
	<content type="html">You should set a test query on your connection pool, see: &lt;a href=&quot;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/10/27 Gérald Quintana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26075269&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gerald.quintana@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hello,&lt;br&gt;
&lt;br&gt;
For some weird reason I won&amp;#39;t explain, the Oracle database I am using&lt;br&gt;
is restarted&lt;br&gt;
every night. Since I introduced Bitronix connection pooling (the&lt;br&gt;
problem didn&amp;#39;t occur with DBCP), every morning the application is&lt;br&gt;
dead: Each access to the database results in the following exception:&lt;br&gt;
Caused by: java.sql.SQLException: Connexion interrompue&lt;br&gt;
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)&lt;br&gt;
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)&lt;br&gt;
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)&lt;br&gt;
       at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)&lt;br&gt;
       at oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)&lt;br&gt;
       at bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)&lt;br&gt;
       ... 9 more&lt;br&gt;
&lt;br&gt;
Restarting the application server (Tomcat) does the trick, but it is&lt;br&gt;
not satisfactory solution.&lt;br&gt;
Why do these stale connections remain in the pool?&lt;br&gt;
What can I do to evict them?&lt;br&gt;
&lt;br&gt;
Thanks for your help,&lt;br&gt;
Gérald&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Connection-pooling-tp26075140p26075269.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26075140</id>
	<title>Connection pooling</title>
	<published>2009-10-27T03:15:25Z</published>
	<updated>2009-10-27T03:15:25Z</updated>
	<author>
		<name>Gérald Quintana</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;For some weird reason I won't explain, the Oracle database I am using
&lt;br&gt;is restarted
&lt;br&gt;every night. Since I introduced Bitronix connection pooling (the
&lt;br&gt;problem didn't occur with DBCP), every morning the application is
&lt;br&gt;dead: Each access to the database results in the following exception:
&lt;br&gt;Caused by: java.sql.SQLException: Connexion interrompue
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;... 9 more
&lt;br&gt;&lt;br&gt;Restarting the application server (Tomcat) does the trick, but it is
&lt;br&gt;not satisfactory solution.
&lt;br&gt;Why do these stale connections remain in the pool?
&lt;br&gt;What can I do to evict them?
&lt;br&gt;&lt;br&gt;Thanks for your help,
&lt;br&gt;Gérald
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Connection-pooling-tp26075140p26075140.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26048031</id>
	<title>Re: BTM 1.3.3 released</title>
	<published>2009-10-25T08:50:00Z</published>
	<updated>2009-10-25T08:50:00Z</updated>
	<author>
		<name>Frederic Conrotte</name>
	</author>
	<content type="html">I'm using BTM with JBoss. I just upgraded to v1.3.3 and ran regression tests, everything seems to work as expected.
&lt;br&gt;&lt;br&gt;Thanks !</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/BTM-1.3.3-released-tp26048023p26048031.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26048029</id>
	<title>Re: Bitronix and Spring</title>
	<published>2009-10-25T08:31:50Z</published>
	<updated>2009-10-25T08:31:50Z</updated>
	<author>
		<name>Frederic Conrotte</name>
	</author>
	<content type="html">&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;Thanks for your kind words. I hope you appreciate the hard work spent building BTM.&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
For sure !
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Ludovic Orban wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;Regarding Spring and its dependencies it's quite the contrary: you need to specify a 'depends-on' attribute betwen the TM bean and the config bean or Spring won't know when to initialize the config as it's not injected in the TM.&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
You're right, the dependency is about instances returned by factory methods, not bitronix.tm.TransactionManagerServices itself.
&lt;br&gt;&lt;br&gt;so
&lt;br&gt;&lt;br&gt;&amp;lt;!-- create BTM transaction manager --&amp;gt;
&lt;br&gt;&amp;lt;bean id=&amp;quot;BitronixTransactionManager&amp;quot; factory-method=&amp;quot;getTransactionManager&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class=&amp;quot;bitronix.tm.TransactionManagerServices&amp;quot; depends-on=&amp;quot;btmConfig&amp;quot; destroy-method=&amp;quot;shutdown&amp;quot; /&amp;gt;
&lt;br&gt;&lt;br&gt;is correct</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bitronix-and-Spring-tp26047233p26048029.html" />
</entry>

</feed>
