我正在用RESTeasy在JBoss 6 Final上開發一個RESTful Web服務。 我有一個外部的EJB,我想在Web服務上注入EJB。External @EJB注入RESTeasy和JBoss返回null
這是EJB的代碼
BeanLocalInterface.java
@Local
public interface BeanLocalInterface {
public String sayHello();
}
Bean.java
@Stateless
@LocalBinding(jndiBinding = "BeanLocal")
public class Bean implements BeanLocalInterface {
@Override
public String sayHello() {
return "Hello!";
}
}
在另一個項目中,我有一個WS:
@Path("/ws")
public class HelloWorldResource {
@EJB(mappedName="BeanLocal")
private BeanLocalInterface bean;
@GET
@Path("/hello")
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
return bean.sayHello();
}
}
MyRESTApplicati on.java
public class MyRESTApplication extends Application {
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> empty = new HashSet<Class<?>>();
public MyRESTApplication(){
singletons.add(new HelloWorldResource());
}
@Override
public Set<Class<?>> getClasses() {
return empty;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}
bean is alwasy null!
我曾嘗試這種解決方案:
- 我已經把@Stateless上HelloWorldResources
- 我創建beans.xml的WEB-INF
我有
變化MyRESTApplication @ ApplicationPath(「wsapp」) public class MyRESTApplication extends Application { }
你能幫我嗎?
PS:我沒有EARË我不想使用它
我試圖達到同樣的目的。如果您找到解決方案,請告訴我。 – 2014-02-16 11:52:09