java-ee – 如何为WebSphere 8.5编写EJB 3.1客户端?

前端之家收集整理的这篇文章主要介绍了java-ee – 如何为WebSphere 8.5编写EJB 3.1客户端?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在查找部署在WebSphere 8.5上的EJB 3.1时,我遇到了问题.

请建议我:

>我需要在classpath中包含哪些库?
>如何构建查找字符串?
>服务器端是否需要更改任何设置?

注意:我正在使用Eclipse IDE

解决方法

试试这个 :

>将com.ibm.ws.ejb.thinclient_8.5.0.jar和com.ibm.ws.orb_8.5.0.jar jars添加到客户端应用程序的类路径中.
>通过运行createEJBStubs.sh脚本生成客户端存根.
在< WAS_HOME> / bin目录下找到createEJBStubs.sh脚本.
语法:./ createEJBStubs.sh< ejbJarName> .jar
>将生成的jar添加到客户端应用程序的类路径中.
>为EJB提供自定义JNDI名称,如下所示:
打开WebSphere控制台,在左侧面板上单击Applications>所有应用程序.
单击已部署的应用程序.
单击Enterprise Java Bean Properties下的Bind EJB Business.
在JNDI名称列下为EJB设置自定义JNDI名称.例如customLookupString

客户代码示例:

public class WebSphereClient {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
        props.put(javax.naming.Context.PROVIDER_URL,"iiop://localhost:2818");
        TestBeanRemote bean = null;
        Object obj;
        try {
            InitialContext ctx = new InitialContext(props);
            obj= ctx.lookup("customLookupString");
            if (obj instanceof TestBeanRemote) {
                bean = (TestBeanRemote) obj;
            }
            System.out.println("Name : "+bean.getName());
        } catch (NamingException e) {
            e.printStackTrace();
        }
    }
}

以上代码和流程对我有用.

猜你在找的Java相关文章