我在計算機的遠程Glassfish服務器和應用程序客戶端中有一個EJB模塊。我想從應用程序客戶端連接到遠程EJB。如何從應用程序客戶端連接遠程EJB模塊
這裏是我的EJB接口:
@Remote
public interface BookEJBRemote
{
public String getTitle();
}
這裏是我的EJB:
@Stateless
public class BookEJB implements BookEJBRemote
{
@Override
public String getTitle()
{
return "Twenty Thousand Leagues Under the Sea";
}
}
我有幾個問題:
- 我可以使用依賴注入遠程應用程序客戶端連接到ejb?如果是的話,我能做些什麼來實現這一點。我是否需要在sun-ejb-jar.xml和sun-application-client.xml中進行配置?換句話說,如果我使用依賴注入像@EJB BookEJBRemote書;應用程序客戶端容器如何知道要注入哪些ejb?我應該在哪裏指定信息?
- 我該如何運行應用程序客戶端?我嘗試在glassfish服務器中運行package-appclient以獲取appclient.jar並將其複製到我的計算機。然後我輸入appclient.jar -client myAppClient.jar。它沒有工作。我如何指向目標服務器?
- 如果我不能在客戶端使用依賴注入,那麼我想我必須使用JNDI查找。我是否需要在sun-ejb-jar.xml或sun-application-client.xml中配置jndi名稱?
無論我如何嘗試,我從來沒有設法運行應用程序客戶端?你們可以舉一些工作的例子嗎?並感謝你的每一個建議和例子?
你的問題是在[在客戶@EJB註釋]部分回答了所需的jar文件(http://stackoverflow.com/questions/848675):GlassFish支持的管理獨立的客戶端應用程序,如果您通過['bin/appclient -client myprogram.jar'](http://www.ensode.net/glassfish_rich_ejb_clients.html)運行它們。客戶端必須在['jndi.properties'](http://www.codeproject.com/Articles/42394/How-to-create-JBoss-ejb3-session-bean-standalone-c)和說明中指定JNDI設置['application-client.xml'](http://download.oracle.com/docs/cd/B15897_01/web.1012/b15505/access.htm#sthref238)中的服務。 – 2011-11-17 00:35:40
我同意這個問題。我在網上閱讀的每一篇文章都只顯示瞭如何在netbeans中運行應用程序客戶端。似乎沒有任何解釋如何在netbeans之外運行應用程序客戶端。 +1。 – w0051977 2016-10-08 19:57:23