2011-01-05 49 views
2

我想部署一個無狀態的ejb在jboss 4.2.3上使用ejb3註釋。所有東西都可以正確構建和部署,並且在jboss啓動時不會出現任何錯誤。然而,當我查看jboss中的綁定時,ejb沒有被綁定到任何JNDI位置進行查找。以下是我的ejb。jndi綁定在jboss4.2.3和ejb3上

遠程

@Remote 
public interface TestWebService { 

public String TestWebMethod(String param1, String param2); 

} 

無狀態EJB

@Stateless 
@RemoteBinding(jndiBinding="TestWeb") 
@Remote(TestWebService.class) 

public class TestWebServiceBean implements TestWebService{ 

public String TestWebMethod(String param1, String param2) { 
    System.out.println("HELLO "+param1+" "+param2); 
    return "Welcome!!"; 
} 

} 

我試圖不具有@Remote和@RemoteBinding,它不會有所作爲。我還添加了ejb-jar.xml文件(這不應該與ejb3一起使用)並且看起來沒有什麼區別。以下是我在啓動時看到的jboss日誌中的輸出。

installing MBean: jboss.j2ee:ear=ejb_web_service_ear-0.0.1- SNAPSHOT.ear,jar=ejb_web_service-0.0.1-SNAPSHOT.jar,name=TestWebServiceBean,service=EJB3 with dependencies: 
21:56:00,633 INFO [EJBContainer] STARTED EJB: com.tomax.ejb.TestWebServiceBean ejbName: TestWebServiceBean 

回答

4

我想通了,所以如果有其他人有類似的問題,希望這會有所幫助。首先,我對jboss 4.2.3中的註釋有不正確的包裝,它們應該是org.jboss.anotation.ejb。*,對於這個版本的jboss,在5中它已經改變了。另外,我的耳朵文件中還有一些附加的依賴關係jar,因爲它們是由容器提供的,所以不應該包含它們。一旦我刪除那些,然後它的工作。

+0

+1用於回來並報告您發現的內容。您應該將自己的答案標記爲已接受。 – skaffman 2011-01-05 22:59:36