File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Soft Skills: The software developer's life manual this week in the Jobs Discussion forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

ejbCreate in remote interface?

 
Prakash Dwivedi
Ranch Hand
Posts: 452
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Friends,
We have create() method in Home interface and ejbCreate() in Bean class. whenever we invoke create() method of the home interface corresponding ejbCreate() method is invoked.

will it still work if we declare ejbCreate() method in the remote method, and invoke it as a normal remote method?

thanks
 
Damanjit Kaur
Ranch Hand
Posts: 346
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

Although I never tried this but I think it should n't work if you define this method in Remote Interface. Because its a life cycle callback method which is implemented by container. but if you define it in Remote interface then you need to implement it like other Business methods.

I was just going thru a EJB book which specifies the methods that needs to be specified in each interface and the role of each interface. which means specifying ejbCreate method in Remote interface will violate these rules. Moreover, RemoteHome interface extends EJBHome interface and must specify create,remove and finder(for entity bean) methods.
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You would "break the rules" doing it.
The EJB container is responsible for creating EJB objects, not you.
Home interface is dedicated to creation and destruction. You cannot decide to replace it by your own functions, as the container must be able to decide if it will create and object or reuse an existing one, etc..., etc.

So, this is definitively not a good idea.
Even if I've never tried it, I believe exposing ejbCreate in the Remote interface would call the ejbCreate of your bean.
But you would miss all the added value of the container, so I'm quite sure the EJB would not be properly created and instanciated.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic