• Post Reply Bookmark Topic Watch Topic
  • New Topic

Clarification on a mock question about Session Bean

germano giudici
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is the question (from Enthuware):

A stateless session bean S1 uses another stateless session bean S2 and requests a dependency injection using the following statement (contained in S1's code):
@EJB(name="ejb/S2", beanInterface=S2Local.class)

S2Local interface is as follows:

package com.enthu.ejbplus;
import javax.ejb.Local;
public interface SLocal {
String m1();

Given the above, complete the following S2Bean's code so that bean S1 will work as expected.

package com.enthu.ejbplus;
import javax.annotation.*;
import javax.ejb.*;

// insert lines here...

SessionContext sctx;

public String m1(){ return "hello!"; }

And this are the answers:

public class S2Bean implements S2Local {

public class S2Bean implements S2Local {

public class S2Bean {

public class S2Bean {

None of these.

Enthuware says that the correct answer is 2.

My dubt is for number 1, that is excluded with this reason:
This will not work because in the absence of 'name' in @Stateless, this bean will be associated with the name of S2Bean but S1 bean is looking for ejb/S2.

Binding the injected ejb by name, isn't done with beanName attribute??
The name attribut isn't used to bind an ejb reference to ENC entry name??


I found a beautiful pie. And a tiny ad:
the new thread boost feature brings a LOT of attention to your favorite threads
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!