• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Liutauras Vilda
Sheriffs:
  • Paul Clapham
  • Jeanne Boyarsky
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
Bartenders:
  • Jesse Duncan
  • Frits Walraven
  • Mikalai Zaikin

Doubt regarding transaction context

 
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In ejb3-core-spec page no 360 table 14 about Handling of exceptions


Bean method runs in the context of the caller�s transaction [Note A].

[A] The caller can be another enterprise bean or an arbitrary client program.



can someone tell me how a client other than a bean will have a transaction context be associated with.
 
Senthil Kumar
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
would like to clarify some more doubts.

Assume i have a bean class with CMT. And i am calling methodA in the bean which starts out a transaction(having Required/Required_new attribures).This is followed by the subsequent calls to the other methods of the bean class which are all having their own transaction attributes that might let the bean to continue with the existing transaction context,else to start a new one, or even to destroy the existing.

my doubt is,

1. when the container does the commit for the existing transaction started by the first method.

2.In core specs page no 360, first case under container's action why there is no info about calling setRollbackOnly().Is it not possible to set the transaction to rollback when it's the one from the caller's
 
Ranch Hand
Posts: 380
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Senthil,

You can use Application Client (which is similar to standalone java client) to call EJB and this client can create a transaction prior to calling.

"The client can leverage standard J2EE artifacts such as InitialContext, UserTransaction, and EJBs."

Read more about Application Client:
J2EE Application Client


first case under container's action why there is no info about calling setRollbackOnly().Is it not possible to set the transaction to rollback when it's the one from the caller's



The first action that container will take is to propagate back the exception (along with marking Tx for rollback if needed) . Since the transaction was initiated by the client. It is the client which will rollback after checking for status and knowing if setRollback was invoked by another bean that took part in Tx.

So - the one who starts it : in that bean there is a check for the status and rolling back if needed.

Regards,
Shivani
 
For my next trick, I'll need the help of a tiny ad ...
Free, earth friendly heat - from the CodeRanch trailboss
https://www.kickstarter.com/projects/paulwheaton/free-heat
reply
    Bookmark Topic Watch Topic
  • New Topic