Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why @LocalBean is needed to deploy a EJB ?

 
Himai Minh
Ranch Hand
Posts: 1142
4
  • 0
  • 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
Pie
Posts: 2167
57
Android Chrome Eclipse IDE
  • 0
  • 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: 1142
4
  • 0
  • 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
Pie
Posts: 2167
57
Android Chrome Eclipse IDE
  • 0
  • 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