If, on the other hand, JMS and EJB use the same DataSource, no
XA is required.

Gene Chuang wrote:
> You can rely on JTA to transparently manage both your JMS and EJB
> transactions only if both vendors (or one if both are the same) support
> XA transactions, and you have XA turned on.  Note that even if both JMS
> and EJB are in the same container, they may use different DataSource and
> will still require XA.
>
> If your vendor(s) do not support XA, then you will have to manually
> session.commit()/rollback().
>
> Gene
>
>   Benjamin BONNET <[EMAIL PROTECTED]> wrote:
>
>     Hi,
>
>     The container should do it all for you since your method is
>     transactionnal (see EJB specs 2.1 �17 for details)
>
>
>     Simon Zeng wrote:
>
>>     You can make your JMS Message transacted. (ie. the first parameter in
>>     creatTopicSession/creatTopicSession should be TRUE). Call
>>     session.commit()
>>     if your EJB transaction complete; otherwise, call session.rollback().
>>     JMSServer won't send the message to consumer until it receives a
>>     commit
>>     Command. Hope this works for you.
>>
>>
>     Simon, in a transactionnal business method, you should not commit
>     nor rollback manually your JMS session (see 17.3.4). It is the
>     responsibility of the container to do it (the container has to deal
>     with all the transactionnal resources involved in the transaction).
>     If you really want to force a rollback on the transaction, you have
>     to use the UserTransaction interface.
>
>     Benjamin
>
>>
>>     Simon Zeng
>>
>>     WaterCove Networks
>>
>>
>>     -----Original Message-----
>>     From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>>     Sent: Friday, July 19, 2002 10:47 AM
>>     To: [EMAIL PROTECTED]
>>     Subject: Sending JMS msg from within an EJB transaction
>>
>>     Hi,
>>
>>     one question on JMS: I want to send a JMS message from a business
>>     method
>>     of a session EJB. This method runs with a transaction context. The
>>     method also invokes several other calls on entity beans that can
>>     possibly fail and cause a transaction rollback.
>>
>>     Now, the question: I want the JMS message to enlist into the same
>>     transaction - that means, if it is rolled back, the message should
>>     *NOT*
>>     be sent. How should I code that?
>>
>>     Regards...
>>     Matthias Bohlen
>>     http://www.mbohlen.de <http://www.mbohlen.de/>
>>
>>     ===========================================================================
>>
>>     To unsubscribe, send email to [EMAIL PROTECTED] and include in
>>     the body
>>     of the message "signoff EJB-INTEREST".  For general help, send
>>     email to
>>     [EMAIL PROTECTED] and include in the body of the message "help".
>>
>>     ===========================================================================
>>
>>     To unsubscribe, send email to [EMAIL PROTECTED] and include in
>>     the body
>>     of the message "signoff EJB-INTEREST".  For general help, send
>>     email to
>>     [EMAIL PROTECTED] and include in the body of the message "help".
>>
>
> ------------------------------------------------------------------------
> Do You Yahoo!?
> Yahoo! Health <http://health.yahoo.com/> - Feel better, live better


--
_______________________________________________________________________________

Evan Ireland            Sybase EAServer Engineering         [EMAIL PROTECTED]
                           Wellington, New Zealand                +64 4 934-5856

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to