- This topic has 2 replies, 2 voices, and was last updated 20 years, 10 months ago by
mventre.
-
AuthorPosts
-
mventreMemberHi folks,
I m using MyEclipse 3.0RC1 with JBOSS 3.2.4 and i m developing EJB at the moment. I have a problem deploying Session Bean under JBOSS…i got this:10:30:23,453 WARN [verifier] EJB spec violation:
Bean : UserManager
Section: 7.10.5
Warning: The remote interface must extend the javax.ejb.EJBObject interface.10:30:23,453 WARN [verifier] EJB spec violation:
Bean : UserManager
Method : public void ejbCreate() throws CreateException
….and so ona lot of error saying that i must implement a remote interface in the class UserManager that i know it should be used but i don’t know how to do that under XDoclet…any idea?
thanx
GregMemberI am not for sure if this is your problem, but I am going to take a guess because I have seen similar messages from jboss and this was the problem I was running into.
If you use the “Standard EJB” configuration doclet, make sure the UserManager session bean class is in a package that ends with “.ejb” at the end of the package name. The reason is the “Standard EJB” configuration uses package substitution to distinguish between your abstract Session bean class that you created and the remote interface with the same name “UserManager” that is created by Xdoclet.
If you create a session bean called UserManager under the package test.ejb using the ME wizards you will get one file created:
Now after you run xdoclet using the “Standard EJB” configuration doclet here is the result:
You will notice a separate package test.interfaces is created. That is because there is a “packageSubstitution” subdoclet under the ejbdoclet that tells xdoclet to create a separate package replacing “ejb” with “interfaces” for all remote interfaces.
The file test.interfaces.UserManager has all of the remote interface requirments that jboss wants to pass ejb spec. If you don’t have .ejb in the suffix, xdoclet doesn’t use substitution for the interfaces and when it goes to create the remote interface file called “UserManager”, it won’t create it because it will overwrite your original SessionBean source file since they are in the same pacakge. So there is no remote interface when you deploy the session bean to jboss and the deployer is looking at your actual UserManager file for the remote interface and doesn’t find it. Thats why the jboss errors are being thrown.
I hope this fixes your problem. If it doesn’t, post back with more details about your session bean and we can take another look at it.
Note: If you don’t want to use package substitution you will have to modify the file name that xdoclet will use to generate remote interfaces so it doesn’t conflict with your original bean class.
mventreMemberthanx it was that
-
AuthorPosts