Servlet的EJB注入 - JBoss AS 7

3
我将尝试使用JBoss7将EJB注入到Servlet中,但出现问题。这段代码在JBoss 6上运行良好。在WAR中打包了EJB代码和接口,但是在SERVLETS(GWT Servlets)中无法进行注入。

我的代码如下:

接口:

@Local
public interface MyService{
}

实现:

@Stateless(name = "MyService")
@TransactionManagement(TransactionManagementType.CONTAINER)
public class MyServiceImpl implements MyService {
}

Servlet

@EJB(name = "MyService")
private MyService service;

在JBoss AS 6中,相同的实现工作得很好。我已经没有任何想法了,请帮忙。


也许是因为在JBoss AS 7中,你有JBoss模块,每个部署存在于自己的“模块”中;因此它不能看到它外部的任何构件吗?尝试将其包装成一个EAR或在WAR和EJB-JAR之间定义模块依赖关系。 - Piotr Nowicki
1个回答

2
如果你的 EJB 只是本地的,你可以把所有东西都放在 war 文件中。
如果接口只有一个实现,你可以删除 EJB 的名称,容器将根据类型解析 EJB 注入。(使用 EJB 3.1 可以完全删除接口)。
如果需要更多功能,您应该提供档案(EARWAR)结构和一些日志条目 (EJB 列表 + 在进行注入时出现的错误)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接