was ejb学习[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 最近因为项目需要,对ilog进行了学习,包括ilog在was的安装以及客户端连接ilog等内容。 个人感觉很多是通过ejb来进行查找及调用的,所以,特意自己做了一个ejb在was上部署以及客户端连接的例子: [b][color=red]1、ejb方面[/color][/b] ejb采用ejb 2,分三个类:Hello、HelloHome、HelloWord; [color=cyan]Hello:[/color] public class Hello implements SessionBean { /** The session context */ private SessionContext context; public Hello() { super(); // TODO Auto-generated constructor stub } /** * Set the associated session context. The container calls this method * after the instance creation. * * The enterprise bean instance should store the reference to the context * object in an instance variable. * * This method is called with no transaction context. * * @throws EJBException Thrown if method fails due to system-level error. */ public void setSessionContext(SessionContext newContext) throws EJBException { context = newContext; } public void ejbCreate() throws EJBException, RemoteException { // TODO Auto-generated method stub System.out.println(“ejb create”); } public void ejbRemove() throws EJBException, RemoteException { // TODO Auto-generated method stub } public void ejbActivate() throws EJBException, RemoteException { // TODO Auto-generated method stub } public void ejbPassivate() throws EJBException, RemoteException { // TODO Auto-generated method stub } /** * An example business method * * @ejb.interface-method view-type = “remote” * * @throws EJBException Thrown if method fails due to system-level error. */ public String sayIt() throws EJBException { System.out.println(“hello didi”); return “hello didi.”; } } [color=cyan][b]HelloHome[/b][/color] public interface HelloHome extends javax.ejb.EJBHome { public com.rox.HelloWorld create() throws javax.ejb.CreateException,java.rmi.RemoteException; } [color=cyan]HelloWorld[/color] public interface HelloWorld extends EJBObject{ public String sayIt() throws RemoteException; } [color=red][b]2、发布ejb到was中[/b][/color] 注意:在ejb的jndi项,填写ejb/hello,以便以后在client端进行引用。 [color=red][b]3、将导入的ejb导出[/b][/color] 注意:was比较恶心的地方在这里,因为我们在创建ejb的时候,没有生成stub等类,而was在发布我们的ejb时,自动给我们补齐,所以,我们从发布的ejb导出客户端需要的jar包。 [b][color=red]4、客户端编写[/color][/b] 注意事项: [color=cyan]a、jre问题[/color] 必须采用ibm的jre,否则无法通过; [color=cyan]b、依赖jar包问题[/color] 依赖的jar包包括三部分: 部分一:was中的lib里面的包; 部分二:was中的runtime中的包; 部分三:从was导出的ejb的jar包; 以上包中,第一部分可能不全部需要,但本人没有研究确切的需要那几个包,不过,添加了全部包后,可以确保测试通过; [color=cyan]c、客户端的代码实现[/color] javax.naming.InitialContext initialContext = null; Properties environment = new Properties(); //environment.put(Context.PROVIDER_URL, “iiop://10.66.49.249:2809”); 因为本人在本机测试,所以不用设置这条。 environment.put(Context.INITIAL_CONTEXT_FACTORY, “com.ibm.websphere.naming.WsnInitialContextFactory”); environment.put(Context.URL_PKG_PREFIXES, “com.ibm.ws.naming”); initialContext = new javax.naming.InitialContext(environment); HelloHome helloHome = null; Object obj = initialContext.lookup(“ejb/hello”); helloHome = (HelloHome)javax.rmi.PortableRemoteObject.narrow(obj, HelloHome.class); HelloWorld hello = helloHome.create(); System.out.println(hello.sayIt());
//thank you ,that is all!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187651.html原文链接:https://javaforall.cn
相关文章
- 【深度学习入门】——亲手实现图像卷积操作[通俗易懂]
- 深度学习的深度和宽度的理解[通俗易懂]
- es7学习笔记 cpu负载不均衡、超长fullGC、大量400报错[通俗易懂]
- 视频修复:无监督流对齐的序列对序列学习方法S2SVR(ICML 2022)
- 简单的有监督学习实例——简单线性回归[通俗易懂]
- Java大数据方向学习路径导航[通俗易懂]
- 不要再走弯路了,最全的黑客入门学习路线在这[通俗易懂]
- java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]
- 数学建模算法学习——各类模型算法汇总[通俗易懂]
- 从零开始学习Android开发[通俗易懂]
- 深度学习之softmax损失函数[通俗易懂]
- 学习zencart模板制作[通俗易懂]
- ECCV 2022 | 可调节的真实场景图像超分辨率, 腾讯ARC Lab利用度量学习来解决
- 学习PrintWriter类[通俗易懂]
- 一分钟学习静态网页制作[通俗易懂]
- Python学习(九)Python缩进规则[通俗易懂]
- 高中必备学习软件_有那些免费好用的高中学习软件?[通俗易懂]
- Modbus TCP 入门学习[通俗易懂]
- JavaScript学习笔记1
- 机器学习真能产生智能决策吗?
- 网络编程学习笔记3-阻塞IO下的ttcp
- SQL学习笔记4:进阶之JOIN and UNION-JOIN,LEFT JOIN,RIGHT JOIN , FULL JOIN and UNION详解数据库
- 零基础学习Oracle:从零开始迈向学习突破。(零基础学oracle)
- Linux英语学习: 突破你的极限!(linux英语学习)
- 老顽童学习MySQL:从零开始(老顽童mysql)
- 「Linux 学习」:这些学习资料帮助你快速入门 Linux 系统!(linux系统学习资料)
- php学习之循环结构实现代码