• Post Reply Bookmark Topic Watch Topic
  • New Topic

Why @LocalBean is needed to deploy a EJB ?  RSS feed

 
Himai Minh
Ranch Hand
Posts: 1516
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In NetBean, I have a web application called RoleBasedEJB.
I have a class like this :






Client side:


When the @LocalBean is commented out in the resource root class, Glassfish gives me this error when the client tried to access the resource using credentials john/secret.



Why @LocalBean is important in this case?
 
Frits Walraven
Creator of Enthuware JWS+ V6
Saloon Keeper
Posts: 2924
205
Android Chrome Eclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
An EJB with a remote view is not required to be supported as a JAX-RS resource. I am not sure what kind of annotation you have on your StudentService (@Remote maybe?).

Adding the @LocalBean makes the EJB have a local view and that has to be supported by JAX-RS.

Regards,
Frits
 
Himai Minh
Ranch Hand
Posts: 1516
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for your reply.
Before, the StudentService interface did not have any annotation. Now, I put @Remote in this:


The implementation resource root class, StudentServiceImpl has @LocalBean, @Stateless and @DeclaredRoles.

It works the same after I put @Remote in the StudentService interface.

Does it mean all JAX-RS resource root class must be annotated with @LocalBean if it is deployed as @Stateless or @Singleton?
 
Frits Walraven
Creator of Enthuware JWS+ V6
Saloon Keeper
Posts: 2924
205
Android Chrome Eclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, or put @Local in the StudentService interface.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!