iirc, the <transaction-support>XATransaction</transaction-support> in the ra.xml determines this. Use LocalTransaction in your case. This can be overridden in the jboss -ds.xml descriptor. Check the jboss RAR documentation to find the details.
On 27 June 2010 06:46, Edison Melo <rok...@yahoo.com> wrote: > > Please forgive if this is a silly question. I hadn't be able to configure > a > MDB to use local transactions inside JBoss. If I deploy a MDB with this > config: > > @MessageDriven( > activationConfig = { > @ActivationConfigProperty( > propertyName = "destinationType", propertyValue = > "javax.jms.Queue"), > @ActivationConfigProperty( > propertyName = "destination", propertyValue = > "queue/HelloWorld"), > @ActivationConfigProperty( > propertyName="acknowledgeMode", > propertyValue="Auto-acknowledge"), > @ActivationConfigProperty( > propertyName = "maxMessagesPerSessions", > propertyValue = "10"), > @ActivationConfigProperty( > propertyName = "maxSessions", propertyValue = "10"), > @ActivationConfigProperty( > propertyName = "maximumRedeliveries", propertyValue > = "1") > }) > @PoolClass(value=org.jboss.ejb3.StrictMaxPool.class, maxSize=10, > timeout=10000) > @ResourceAdapter("activemq-rar.rar") > public class HelloWorldMDB implements MessageListener { > ... > > I get this log: > > 00:26:48,810 35196 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] > (ActiveMQ Transport: tcp://localhost/127.0.0.1:61616:) ServerSession > requested. > 00:26:48,811 35197 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] > (ActiveMQ Transport: tcp://localhost/127.0.0.1:61616:) Created a new > session: ServerSessionImpl:2 > 00:26:48,811 35197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (ActiveMQ Transport: tcp://localhost/127.0.0.1:61616:) Starting run. > 00:26:48,811 35197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (ActiveMQ Transport: tcp://localhost/127.0.0.1:61616:) Work accepted: > > javax.resource.spi.work.workevent[source=org.jboss.resource.work.jbossworkmana...@10393e97 > ] > 00:26:48,811 35197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) Work started: > > javax.resource.spi.work.workevent[source=org.jboss.resource.work.jbossworkmana...@10393e97 > ] > 00:26:48,811 35197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) Running > 00:26:48,812 35198 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) run loop start > 00:26:48,818 35204 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Start: < 131075, 26, 24, > 1-7f000002:86c9:4c26e0f7:a7f000002:86c9:4c26e0f7:b > > > 00:26:48,820 35206 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Started XA transaction: > > XID:131075:312d37663030303030323a383663393a34633236653066373a61:37663030303030323a383663393a34633236653066373a62 > 00:26:48,825 35211 INFO [STDOUT] (WorkManager(2)-9:) HelloWorldMDB::init > 00:26:48,827 35213 DEBUG > [org.apache.activemq.transport.WireFormatNegotiator] (WorkManager(2)-9:) > Sending: WireFormatInfo { version=5, properties={CacheSize=1024, > CacheEnabled=true, SizePrefixDisabled=false, > MaxInactivityDurationInitalDelay=10000, TcpNoDelayEnabled=true, > MaxInactivityDuration=30000, TightEncodingEnabled=true, > StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} > 00:26:48,828 35214 DEBUG > [org.apache.activemq.transport.WireFormatNegotiator] (ActiveMQ Transport: > tcp://localhost/127.0.0.1:61616:) Received WireFormat: WireFormatInfo { > version=5, properties={CacheSize=1024, CacheEnabled=true, > SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, > TcpNoDelayEnabled=true, MaxInactivityDuration=30000, > TightEncodingEnabled=true, StackTraceEnabled=true}, > magic=[A,c,t,i,v,e,M,Q]} > 00:26:48,828 35214 DEBUG > [org.apache.activemq.transport.WireFormatNegotiator] (ActiveMQ Transport: > tcp://localhost/127.0.0.1:61616:) tcp://localhost/127.0.0.1:61616 before > negotiation: OpenWireFormat{version=5, cacheEnabled=false, > stackTraceEnabled=false, tightEncodingEnabled=false, > sizePrefixDisabled=false} > 00:26:48,828 35214 DEBUG > [org.apache.activemq.transport.WireFormatNegotiator] (ActiveMQ Transport: > tcp://localhost/127.0.0.1:61616:) tcp://localhost/127.0.0.1:61616 after > negotiation: OpenWireFormat{version=5, cacheEnabled=true, > stackTraceEnabled=true, tightEncodingEnabled=true, > sizePrefixDisabled=false} > 00:26:48,831 35217 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Begin:TX:ID:delta-45577-1277616385764-0:5:1 > 00:26:48,837 35223 DEBUG [org.hibernate.impl.SessionImpl] > (WorkManager(2)-9:) opened session at timestamp: 5233116810596352 > 00:26:48,837 35223 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] > (WorkManager(2)-9:) Looking for a JTA transaction to join > 00:26:48,837 35223 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] > (WorkManager(2)-9:) No JTA transaction found > 00:26:48,837 35223 DEBUG [org.hibernate.loader.Loader] (WorkManager(2)-9:) > loading entity: [model.Person#0] > 00:26:48,837 35223 DEBUG [org.hibernate.jdbc.AbstractBatcher] > (WorkManager(2)-9:) about to open PreparedStatement (open > PreparedStatements: 0, globally: 0) > 00:26:48,837 35223 DEBUG [org.hibernate.jdbc.ConnectionManager] > (WorkManager(2)-9:) opening JDBC connection > 00:26:48,837 35223 DEBUG [org.hibernate.SQL] (WorkManager(2)-9:) select > person0_.PERSON_ID as PERSON1_1_0_, person0_.FIRST_NAME as FIRST2_1_0_, > person0_.LAST_NAME as LAST3_1_0_, person0_.AGE as AGE1_0_ from test.PERSON > person0_ where person0_.PERSON_ID=? > 00:26:48,838 35224 DEBUG [org.hibernate.jdbc.AbstractBatcher] > (WorkManager(2)-9:) about to open ResultSet (open ResultSets: 0, globally: > 0) > 00:26:48,838 35224 DEBUG [org.hibernate.jdbc.AbstractBatcher] > (WorkManager(2)-9:) about to close ResultSet (open ResultSets: 1, globally: > 1) > 00:26:48,838 35224 DEBUG [org.hibernate.jdbc.AbstractBatcher] > (WorkManager(2)-9:) about to close PreparedStatement (open > PreparedStatements: 1, globally: 1) > 00:26:48,838 35224 DEBUG [org.hibernate.jdbc.ConnectionManager] > (WorkManager(2)-9:) aggressively releasing JDBC connection > 00:26:48,838 35224 DEBUG [org.hibernate.jdbc.ConnectionManager] > (WorkManager(2)-9:) releasing JDBC connection [ (open PreparedStatements: > 0, > globally: 0) (open ResultSets: 0, globally: 0)] > 00:26:48,838 35224 DEBUG [org.hibernate.engine.StatefulPersistenceContext] > (WorkManager(2)-9:) initializing non-lazy collections > 00:26:48,838 35224 DEBUG [org.hibernate.loader.Loader] (WorkManager(2)-9:) > done entity load > 00:26:48,839 35225 DEBUG > [org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor] > (WorkManager(2)-9:) ********************* CLOSING tx scoped nontx entity > manager > 00:26:48,840 35226 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) End: < 131075, 26, 24, > 1-7f000002:86c9:4c26e0f7:a7f000002:86c9:4c26e0f7:b > > > 00:26:48,840 35226 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Ended XA transaction: > > XID:131075:312d37663030303030323a383663393a34633236653066373a61:37663030303030323a383663393a34633236653066373a62 > 00:26:48,840 35226 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Prepare: < 131075, 26, 24, > 1-7f000002:86c9:4c26e0f7:a7f000002:86c9:4c26e0f7:b > > > 00:26:48,841 35227 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Commit: TX:ID:delta-45577-1277616385764-0:5:1 > syncCount: > 0 > 00:26:48,850 35236 DEBUG [org.apache.activemq.TransactionContext] > (WorkManager(2)-9:) Commit: < 131075, 26, 24, > 1-7f000002:86c9:4c26e0f7:a7f000002:86c9:4c26e0f7:b > > > 00:26:48,851 35237 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) run loop end > 00:26:48,851 35237 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] > (WorkManager(2)-9:) ServerSession returned to pool: ServerSessionImpl:2 > 00:26:48,851 35237 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) Run finished > 00:26:48,851 35237 DEBUG [org.apache.activemq.ra.ServerSessionImpl:2] > (WorkManager(2)-9:) Work completed: > > javax.resource.spi.work.workevent[source=org.jboss.resource.work.jbossworkmana...@10393e97 > ] > > If I understand correctly, an XA transaction is used for the operation. I > realy don't need that, I'm sending back read-only data (but, I do need to > redeliver the message if somethings goes wrong). Can someone tell me how I > can configure an MDB inside JBoss to use local transactions? (jms > transactions). > -- > View this message in context: > http://old.nabble.com/Unable-to-use-local-transactions-tp29004101p29004101.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com