在WebLogic下ejb的客户端程序的形式和特点
2005-03-23 21:16
211 查看
对于weblogic的客户端程序可以是JSP/servlet,也可以是Application的。
1)jsp/servlet与EJB运行在同一个应用服务器上,其典型代码可如下:(无须建立t3协议下的连接,直接由客户
端完成)
Context ctx=new InitialContext();
Object obj =ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");
HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);
Hello tr=trH.create();
out.println(tr.hello());
注:该jndi-name可以放到web.xml中并用String JNDIName=getServletConfig().getInitParameter("para-name")来获得jndi.
2)对于一般的application而言,就与ejb不在同一个应用服务器下,那怕是在同一台机器上。
注意:(1)在客户端的系统变量要有:../weblogic81/server/lib/weblogic.jar; 否则不能运行。
(2)在文件配置必须要有:远程类,远程home类(一般不包含bean类,即业务类)才能确保客户类的运行。
通常以包的形式来组织这些文件,要注意按package是否正确的配置,否则出错。
其典型代码可如下:
String url="t3://localhost:7001";
Properties prop=new Properties();
prop.put(Context.PROVIDER_URL,url);
prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
prop.put(Context.SECURITY_PRINCIPAL, "name");
prop.put(Context.SECURITY_CREDENTIALS,"code");
Context ctx=new InitialContext(prop);
Object obj=ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");
HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);
Hello tr=trH.create();
System.out.println(tr.hello());
注意:Context.SECURITY_PRINCIPAL和Context.SECURITY_CREDENTIALS是可选的,涉及到对ejb的操作的权限。
1)jsp/servlet与EJB运行在同一个应用服务器上,其典型代码可如下:(无须建立t3协议下的连接,直接由客户
端完成)
Context ctx=new InitialContext();
Object obj =ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");
HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);
Hello tr=trH.create();
out.println(tr.hello());
注:该jndi-name可以放到web.xml中并用String JNDIName=getServletConfig().getInitParameter("para-name")来获得jndi.
2)对于一般的application而言,就与ejb不在同一个应用服务器下,那怕是在同一台机器上。
注意:(1)在客户端的系统变量要有:../weblogic81/server/lib/weblogic.jar; 否则不能运行。
(2)在文件配置必须要有:远程类,远程home类(一般不包含bean类,即业务类)才能确保客户类的运行。
通常以包的形式来组织这些文件,要注意按package是否正确的配置,否则出错。
其典型代码可如下:
String url="t3://localhost:7001";
Properties prop=new Properties();
prop.put(Context.PROVIDER_URL,url);
prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
prop.put(Context.SECURITY_PRINCIPAL, "name");
prop.put(Context.SECURITY_CREDENTIALS,"code");
Context ctx=new InitialContext(prop);
Object obj=ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");
HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);
Hello tr=trH.create();
System.out.println(tr.hello());
注意:Context.SECURITY_PRINCIPAL和Context.SECURITY_CREDENTIALS是可选的,涉及到对ejb的操作的权限。
相关文章推荐
- 在WebLogic下ejb的客户端程序的形式和特点
- 在WebLogic下ejb的客户端程序的形式和特点
- weblogic和jonas下ejb的客户端测试程序的不同写法
- JMS客户端发送小程序,服务端是WEBLOGIC配置的
- Weblogic 客户端调用EJB的方法
- weblogic集群下,程序获取客户端IP、获取用户IP的时,节点需要首先启用WL-Proxy-Client-IP
- wildfly8的安装-创建基于EJB3.1无状态回话bean并部署-java客户端程序调用ejb
- 生成Weblogic的EJB3的客户端JAR
- Weblogic发布EJB程序出错(Compiler failed executable.exec)的解决方法
- MFC实现FTP客户端程序
- MyEclipse + Weblogic8.1 开发 EJB(2)
- ONVIF协议网络摄像机(IPC)客户端程序开发(7):设备搜索
- Linux TCP server系列(2)-简单优化服务器和客户端程序
- 第一个 Erlang 程序: Ftp 下载客户端
- 用select实现TCP回射程序(服务器及客户端)
- 用VC给Oracle的即时客户端(InstanceClient)写个安装设置程序
- Swing 写的客户端程序在java web start 运行,多语言过程中,JOptionPane.showMessageDialog() 按钮多语言问题
- TopCoder 客户端被 Java 安全程序拦截
- 用消息队列编写一个客户端服务器通信的程序
- 使用Socket通信实现FTP客户端程序