我想知道爲什麼ejb注入到JAX-RS資源(Restoss在JBoss7上)不起作用。 EJB不是戰爭的一部分,而是它自己的EJB jar,但我認爲這不應該成爲問題。我不得不做ctx.lookups「解決方法」,這不是很好。我錯過了什麼,或者真的不支持像這樣注入EJB?下面的例子是與JBoss工作,但與Glassfish的工作(可悲的是,我得跑我的JBoss應用程序)在JBoss7上的JAX-RS資源中注入EJB
Path("x")
@RequestScoped
public class UserResource {
@Inject // CDI not working too
private Service service1;
@EJB
private Service service2;
private Service service3;
@GET
@Path("y")
public Response authenticate(@Context HttpHeaders headers) {
System.out.println("null == " + service1);
System.out.println("null == " + service2);
service3 = annoyingLookup(Service.class);
System.out.println("null != " + service3);
}
private <T> T annoyingLookup(Class<T> clazz) {
...
ctx.lookup("java:app/module/" + classzz.getSimpleName());
}
那些EJB('Service')無界面視圖,本地界面還是遠程界面? –
無接口視圖(@LocalBean),但它不能與@Local兼容 – d1x
戰爭和ejb-jar是否是EAR的一部分? –