ejb调用客户端配置

先提供一下配置内容"ejb_client.properties"的内容:


java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
#java.naming.provider.url=192.168.0.2:1099
jnp.partitionName=partone



估计大家一看都知道了大概,但为了方便入门者还是说一下,ejb主要应用在业务逻辑比较复杂的需要分布式处理的情况下,ejb 服务器发布后,JAVA客户端程序是通过JNDI去查询ejb的,而JNDI的全名是:The Java Naming and Directory Interface。因为JNDI 是一组接口,所以我们只需根据接口规范编程就可以。要通过JNDI 进行资源访问,我们必须设置初始化上下文的参数,主要是设置JNDI 驱动的类名(java.naming.factory.initial)和提供命名服务的URL
(java.naming.provider.url)。因为Jndi 的实现产品有很多。所以java.naming.factory.initial 的值因提供JNDI 服务器的不同而不同,java.naming.provider.url 的值包括提供命名服务的主机地址和端口号。


大家发现了吧,就是上面的配置文件内容,呵呵,但得说明一下,java.naming.provider.url=192.168.0.2:1099是直接与ejb服务器IP及端口通讯,而jnp.partitionName=partone是通过ejb服务端群集名称来通讯的,如果在同一网络内存在同名的群集名,那都会出现很有意思的数据乱跑问题。


很多同学在ejb服务器发布后,不知道怎么调用,看完上面的,估计已经知道个大概。就是通过以上配置信息与ejb通讯的,代码很简单,贴一下:


InitialContext ctx = null;

Properties props = new Properties();

InputStream ins = InitContext.class.getResourceAsStream("ejb_client.properties");
props.load(ins);
ctx = new InitialContext(props);

return (IEjbSessionRemote) ctx.lookup(“EjbSessionBean/remote”);


这样就得到了ejb服务器返回的远程会话对象,接下来能操作本地对象一样的调用;




你可能感兴趣的:(java,编程,应用服务器,ejb,网络应用)