2013-01-08 63 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 +注入時出錯)。