• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Kathy Can u clarify this ?

 
Ramakrishna Allam
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
if a CMT bean calls getUserTransaction() method on its context , EJB Specification says that it throws IllegalStateException , which is a RunTimeException . So , if the client is remote , will that throw a RemoteException or not!! looks strange.. because , if it is a runtimeexception , it will be thrown as a remoteexception (for remote clients). But the specification seems to say that it will throw IllegalStateException only . Please Clarify ...I havent been getting answer for this q .. tahts why i am posting as a new one...
 
Joyce Lee
Ranch Hand
Posts: 1392
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When a CMT bean calls getUserTransaction() method on its context, the CMT bean will receive illegalStateException thrown by the Container.
According to EJB 2.0 spec 18.2.2
If the bean method encounters a RuntimeException or error, it should simply propagate the error from the bean method to the Container (i.e., the bean method does not have to catch the exception).

So the bean propagates the illegalStateException to the Container.
The Container will throw either TransactionRolledBack(Local)Exception or RemoteException/EJBException to the client based on the rule EJB 2.0 spec 18.3 Table 15.
Refer to EJB 2.0 spec 18.4.2 and take a look at some of the system applications received by the client
Hope it'll help
Joyce
 
Valentin Crettaz
Gold Digger
Sheriff
Posts: 7610
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can also check out my Exception Handling cheat sheet which sort of sums up the whole exception handling stuff
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic