Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Entity Bean...setEntityContext....

 
Vijay Govind
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Folks

Why is #4 not right? I think you can get a "reference" to Resource Manager in setEntityContext (You can even get a "reference" to a connection) and agree that you might not be able to use it.

Please suggest. Turn to page 196 in HFEJB if need be...

Thanks...

===========================================================================
Which of the following are valid operations in the setEntityContext method, after the CMP entity bean has been instatantiated?

incorrect, you chose answers 1, 3, 4. The correct answers are 1,3.

1) Get a reference to your home interface.
2) Get a reference to your EJBObject.
3) Get a reference to your JNDI environment.
4) Get a reference to the resource manager.
5) Get security related information about the calling client application.

Answers 1 and 3 are correct.

An entity bean instance's life starts when the container creates the instance using newInstance(). The container then invokes the setEntityContext() method to pass the instance a reference to the EntityContext interface. The EntityContext interface allows the instance to invoke services provided by the container and to obtain the information about the caller of a client-invoked method.

At this moment the only valid operations within the setEntityContext() method are:

getting a reference to your home with getEJBHome() or getEJBLocalHome().
having access to your JNDI environment. It is not possible to get a reference to your EJBObject or to get security information about the client at this moment. If the entity bean tries to access methods that are not allowed then the container will throw an IllegalStateException.
===========================================================================
 
Bharathi Kongara
Ranch Hand
Posts: 56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Vijay,

I don't think option # 4 is correct b'coz it is too early to access a database in setEntityContext() method. Please refer to page 327 in HFEJB (page 197 corresponds to sessionbean, setSessionContext()) for reference or the spec.

Bharathi
 
Vijay Govind
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Barathi

Tks for the response. "Accessing a resource like database" is different from "getting a reference to a resource like database". In setEntityContext, you can get a reference to the resource, which is this question about, but in setEntityContext you cannot use that reference to access the database. In page 197, it is clerly explained that getting a reference is different from accessing the resource using the reference. I am sorry for not conveying clearly what I was thinking, but the above was my intent. So, now suggest, if #4 is right or wrong.

Thanks
vijay
 
P Chittaranjan
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Vijay,

For accessing any resource manager we need to have a meaning full transaction.
setEntityContext method always runs in an unspecified transaction context.
That is the reason accessing resource manager are restricted in setEntityContext.

Thanks,
Chittaranjan
 
Vijay Govind
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello

Thanks again. This question is not about "accessing" a resource manager, but "just getting" a reference to the resource manager, which is just nothing but accessing your JNDI environment. Accessing bean's environment is allowed in setEntityContext. I completely agree that you cannot use the connection you got from a DataSource, to execute a query in setEntityContext and I believe the question is not about that.

I think I am missing something and please clarify...

Thanks a ton
Vijay.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic