如何实现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的接口的名字,包括包名

5.JBoss可以通过以下方法自定义JNDI
//自定义jndi
@RemoteBinding(jndiBinding="HelloWorldRemote")
@LocalBinding(jndiBinding="HelloWorldLocal")

 

<转>

你可能感兴趣的:(java,jboss)