Java 在JBoss 7.3上注入本地EJB-@EJB vs@Inject
我有一个包含战争的EAR文件Java 在JBoss 7.3上注入本地EJB-@EJB vs@Inject,java,jakarta-ee,jboss,Java,Jakarta Ee,Jboss,我有一个包含战争的EAR文件 EAR包含一个EJB jar。EJB公开了一个本地和远程接口 @Stateless(name = "FooServiceEJB") @Local(IFooServiceLocal.class) @Remote(IFooService.class) public class FooServiceBean implements IFooService, IFooServiceLocal { ... } WAR文件定义了一个JAXRS注释类 @Path("/
- EAR包含一个EJB jar。EJB公开了一个本地和远程接口
@Stateless(name = "FooServiceEJB") @Local(IFooServiceLocal.class) @Remote(IFooService.class) public class FooServiceBean implements IFooService, IFooServiceLocal { ... }
- WAR文件定义了一个JAXRS注释类
@Path("/foo") @LocalBean @Stateless public class FooResource { ... }
@EJB
private FooServiceLocal fooService;
@Inject
private IFooServiceLocal fooService;
但是,如果我使用@Inject来注入本地ejb,则调用语义是按值(即发生序列化)。例如:
@EJB
private FooServiceLocal fooService;
@Inject
private IFooServiceLocal fooService;
下面是线程堆栈的快照,我认为该类正在执行序列化。当我使用@EJB注释时,线程堆栈是完全不同的
你知道我为什么会看到这种行为上的差异吗