如何实现JNDI远程调用SessionBean(EJB3)

如题所述

1. 需要两个包:jbossall-client.jar,jboss-aspect-library-jdk50.jar
2. 将jndi.properties文件放到编译后文件的根目录下,这个属性文件的内容如下:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
3. 首先,需要读取上述属性文件,得到Properties这个对象:
Properties prop = new Properties();
ResourceBundle resource = ResourceBundle.getBundle(jndi);
prop.put(java.naming.factory.initial, resource.getString(java.naming.factory.initial));
prop.put(java.naming.factory.url.pkgs, resource.getString(java.naming.factory.url.pkgs));
prop.put(java.naming.provider.url, resource.getString(java.naming.provider.url));
return prop;
4. 查找SessionBean的接口
Context context =new InitialContext(prop); // prop可以通过上面的方式取得
return context.lookup(Class.getName); // Class.getName就是SessionBean的接口的名字,包括包名
温馨提示:答案为网友推荐,仅供参考
相似回答