菜鸟学EJB(一)——第一个实例
来源:互联网 发布:树莓派3kail linux 编辑:程序博客网 时间:2024/05/22 03:06
EJB用了那么长时间了,从来没写过关于它的东西,挺对不住它的。今天先写一个简单的小实例,虽然小但是却能体现出EJB的核心——分布式。我们可以将业务逻辑的接口跟实现部署到一台机器上,将调用它们的客户端部署到另一台机器上。至于为什么要用分布式,今天不做讨论,以后再细说。
先来看接口:
package com.tjb.ejb;public interface MyEjb {String helloEjb ();}
接下来是对接口的具体实现:
package com.tjb.ejb;import javax.ejb.Remote;import javax.ejb.Stateless;import javax.jws.WebMethod;import javax.jws.WebService;@Stateless@Remote@WebServicepublic class MyEjbBean implements MyEjb { public String helloEjb() { return "Hello EJB"; }}
然后编写一个客户端来通过接口调用我们的实现:
package com.tgb.ejb;import javax.naming.InitialContext;import javax.naming.NamingException;import com.tjb.ejb.MyEjb;public class MyEjbClient { public static void main(String[] args) throws NamingException { InitialContext ctx = new InitialContext(); MyEjb ejb = (MyEjb) ctx.lookup("MyEjbBean/remote"); String hello = ejb.helloEjb(); System.out.println(hello); }}
客户端实例化一个上下文对象,然后通过其lookup方法查找远程实现,最后调用具体的方法。客户端想要成功调用,需要将其接口引用到客户端的项目里。
客户端需要建一个名为jndi.properties的配置文件:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfacesjava.naming.provider.url=192.168.24.27:1099
java.naming.provider.url指的是接口跟实现所在机器的地址和端口。
客户端跟上面的SessionBean是两个完全独立的项目,但是它们可以进行交互,客户端可以调用SessionBean来完成自己想要的操作,这正是EJB的分布式特性。可以将程序部署到不同的服务器。今天就到这里,以后再说分布式有什么优点。
11 2
- 菜鸟学EJB(一)——第一个实例
- 【EJB一】第一个实例
- 菜鸟学JAVA——第一个JAVA程序
- 菜鸟学EJB(二)——在同一个SessionBean中使用@Remote和@Local
- EJB学习(二)——使用Eclipse+JBOSS创建第一个EJB项目
- EJB学习(一)—EJB概述
- 菜鸟从零开始的第一个应用上线记(一)
- 菜鸟学数据库(一)——三范式
- 菜鸟学设计模式(一)——小单例有大秘密
- 菜鸟学数据库(一)——三范式
- 菜鸟学算法——动态规划(一)
- Hello World——第一个EJB项目搭建
- Hello World——第一个EJB项目搭建
- python 网络爬虫入门(一)———第一个python爬虫实例
- python 网络爬虫入门(一)———第一个python爬虫实例
- zTree学习笔记(一)——第一个入门实例
- SSH深度历险(二) Jboss+EJB的第一个实例
- 菜鸟学jsp(一)
- 郝斌数据结构(三):动态栈
- 淘宝高性能可伸缩平台架构简介
- fzu 2155 并查集的删除
- 2014.4.9 今天自己写了个计算器,帮基友算东西
- 【转】Windows下资源泄漏检测
- 菜鸟学EJB(一)——第一个实例
- 对单链表实现就地逆置
- 栈区vs堆区vs静态区vs文字常量区,均是什么含义,并各有什么不同?
- List接口的常用操作
- Windows 7 远程登入 ubuntu12.04(PuTTY实现)
- 系统架构师的修炼
- 如何查看ubuntu是32位还是64位
- hadoop系统运维-linux quta配置
- linux下access函数的使用