ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » How to set the provider transacted

Post new topic  Reply to topic
 How to set the provider transacted « View previous topic :: View next topic » 
Author Message
fredand44
PostPosted: Sun Apr 06, 2008 10:45 am    Post subject: How to set the provider transacted Reply with quote

Acolyte

Joined: 14 Feb 2006
Posts: 63

Hello!

I got an MDB deployed in a Weblogic 8.1. This MDB Listen for messages from a queue at a MQ 6.0.

If a mark it as <transaction-type>Bean</transaction-type> then I can deploy it and it consumes messages.

But if I mark it as <transaction-type>Container</transaction-type> then I get this error message at deploy:

<2008-apr-06 kl 20:26 CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: MyTesting is unable to connect to the JMS destination: MY_QUEUE. The Error was:
[EJB:010112]The Message Driven Bean 'MyTesting' is transacted, but the provider defined in the EJB is not transacted. Provider should be transacted if onMessage method in MDB is transacted.>

It seems like it has to do with the "provider", but I can not figure out if the provider is refering to Weblogic or MQ?
And if either or, how do I configure it to be "transacted"?

My ejb-jar.xml looks like:

<message-driven>
<ejb-name>MyTesting</ejb-name>
<ejb-class>test.MyTestingMDB</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
<subscription-durability>Durable</subscription-durability>
</message-driven-destination>
</message-driven>

<container-transaction>
<method>
<ejb-name>MyTesting</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>

My weblogic-ejb-jar.xml looks like:

<weblogic-enterprise-bean>
<ejb-name>MyTesting</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>1</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>MY_QUEUE</destination-jndi-name>
<initial-context-factory>com.sun.jndi.fscontext.RefFSContextFactory</initial-context-factory>
<provider-url>file:myserver/mq/jndi</provider-url>
<connection-factory-jndi-name>queue.connection.factory</connection-factory-jndi-name>
<jms-polling-interval-seconds>10</jms-polling-interval-seconds>
</message-driven-descriptor>
<reference-descriptor>
</reference-descriptor>
</weblogic-enterprise-bean>

My jndi-setup looks like:

def qcf(queue.connection.factory) QMANAGER(queue.manager) TRANSPORT(client) HOSTNAME(127.0.0.1) CHANNEL(MY.CLIENT) PORT(1414) CCSID(819)
def Q(MY_QUEUE) QUEUE(MY_QUEUE) QMANAGER(queue.manager) TARGCLIENT(JMS) PERSISTENCE(PERS) CCSID(819)

Any comments is very much appreciated

Best regards
Fredrik
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » How to set the provider transacted
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.