How to connect remote EJB module from application client

半城伤御伤魂 提交于 2019-12-18 19:11:41

问题


I have a EJB module in remote Glassfish server and application client in my computer. I want to connect from the application client to the remote EJB.

Here is the my EJB interface:

@Remote
public interface BookEJBRemote
{
    public String getTitle();
}

Here is the my ejb:

@Stateless
public class BookEJB implements BookEJBRemote
{

    @Override
    public String getTitle()
    {
        return "Twenty Thousand Leagues Under the Sea";
    }
}

I have several questions :

  1. Can I use Dependency Injection in the remote application client to connect to the ejb? If so what can i do to achieve this. Do i need to configure in the sun-ejb-jar.xml and sun-application-client.xml? In other words, if i use Dependency Injection like @EJB BookEJBRemote book; How application client container know what ejb to be injected? Where should i specify the information?
  2. How can i run the application client? I tried to run package-appclient in the glassfish server to get appclient.jar and copy it to my computer. Then i type appclient.jar -client myAppClient.jar . It didn't work. How do i point the target server?
  3. if i cannot use Dependency Injection in the client then i guess i have to use JNDI lookup. Do i need to configure jndi name in sun-ejb-jar.xml or in the sun-application-client.xml?

No matter how i try i never manage to run application client ? Can you guys put some working example? And thank you for every advises and examples?


回答1:


Check this tutorial Creating a Java Stand-Alone Client. Basically you need to

  • setup JNDI by yourself since your client can't use the containers environment.
  • Lookup the remote interface.
  • And of course include the required jar files in your classpath


来源:https://stackoverflow.com/questions/2986993/how-to-connect-remote-ejb-module-from-application-client

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!