2013-01-08 64 views
3

我正在尝试使用JBoss7将一个EJB注入到一个servlet中,并且它不工作。在JBoss 6上,代码工作正常我将WAR代码打包出EJB代码,并且与WAR的接口但是我没有在SERVLETS(GWT Servlets)中注入。针对Servlet的EJB注入 - JBoss AS 7

我的代码看起来像

接口:

@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.我用完了想法。请帮忙。

+0

也许是因为在JBoss AS 7中你有JBoss模块,每个部署都存在于它自己的'模块'中;因此它看不到任何外面的文物?尝试将其封装到一个EAR中或定义WAR和EJB-JAR之间的模块依赖关系。 –

回答

2

如果你的EJB只是一个地方,你可以把每一件事情放在战争中。

如果只有一个接口实现,您可以删除EJB的名称,那么容器将根据类型解析EJB注入库。 (您可以将所有接口与EJB 3.1一起删除)。

如果您需要更多信息,您应该提供存档(EARWAR)结构和一些日志条目(EJB list +注入时出错)。