SSH深度历险记(两) Jboss+EJB一审
学习感悟:每次学习新知识。通过初审会从小事做起,获得成就感。经典Hello Workd我们成功的例子奠定了门哈,呢。非常好的理解了。Ejb的核心。
今天主要以这个小实例,来学习EJB的分布式,我们能够将接口与实现放到一台计算机上,而client能够放到还有一台机器上。当然分布式的意思非常大了(下篇博客给大家解说)。快来看实例。
一:代码实现
1:定义接口
<span style="font-size:18px;"><span style="font-size:18px;">package com.bjsxt.ejb;
public interface FirstEjb {
public String saySomething(String name);
}</span></span>
2:编写对接口的实现
<span style="font-size:18px;"><span style="font-size:18px;">package com.bjsxt.ejb; import javax.ejb.Remote;
import javax.ejb.Stateless; @Stateless
@Remote
public class FirstEjbBean implements FirstEjb { @Override
public String saySomething(String name) {
// TODO Auto-generated method stub
return "你好,"+ name;
} }
</span></span>
3:编写client来通过接口调用实现
<span style="font-size:18px;"><span style="font-size:18px;">package com.bjsxt.ejb;
import javax.naming.InitialContext;
public class FirstEjbElient {
public static void main(String[] args) throws Exception{
InitialContext context = new InitialContext();
FirstEjb firstEjb = (FirstEjb)context.lookup("FirstEjbBean/remote");
String s = firstEjb.saySomething("張三");
System.out.println(s);
}
}
</span></span>
client实例化一个上下文对象,然后通过其lookup方法查找远程实现,最后调用详细的方法。
client想要成功调用,须要将其接口引用到client的项目里。
须要加入jndi配置文件
java.naming.provider.url指的是接口跟实现所在机器的地址和port。
<span style="font-size:18px;">java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost</span>
client跟上面的SessionBean是两个全然独立的项目,可是它们能够进行交互。client能够调用SessionBean来完毕自己想要的操作。这正是EJB的分布式特性。
效果实现
二:配置
服务端开发好后,须要将其jar包部署到jboss的热部署文件夹。
client通过JNDI服务,可以从此拿到服务对象。
使用JNDI来远程訪问Ejb服务,须要使用强制转换来转化成接口类型。
所以。我们须要在Ejb的客户端引入jboss的client包。加到当前项目的环境变量中。来支持JNDI服务。
另外client须要知道服务端的接口,不然就无法依据名字拿到服务。所以须要将服务端的接口打成jar包,并在ejb的client引入。
总结
实现了本文实例。大家就算是入门了,带着这些成功的学习劲头,高速继续学习,在后文我有Ejb更深入的分析。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
SSH深度历险记(两) Jboss+EJB一审的更多相关文章
- SSH深度历险记(九) Struts2+DWZ+Uploadify多文件(文件和图片等。)上传
在gxpt_uas系统,为了实现文件(文件和图片等.,灵活配置)批量上传到mongodb,在学习的过程中,知道mongodb,功能,实现思路:在DWZ的基础上參考官方的实例结合现有的GXPT来实现,期 ...
- SSH深度历险记(八) 剖析SSH核心原则+Spring依赖注入的三种方式
于java发育.一类程序猿必须依靠类的其他方法,它是通常new依赖类的方法,然后调用类的实例,这样的发展问题new良好的班统一管理的例子.spring提出了依赖注入的思想,即依赖类不由程 ...
- SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对比注解方式的优缺点)
接上一篇 SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP,本篇我们主要是来学习使用配置XML实现AOP 本文采用强制的CGLB代理方式 Security ...
- SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP
AOP(Aspect Oriented Programming),是面向切面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP之所以能得到广泛应用,主要是因为它将应用系统拆分分了2个部分 ...
- JS深度判断两个对象字段相同
代码: /** * 判断此对象是否是Object类型 * @param {Object} obj */ function isObject(obj){ return Object.prototype. ...
- JS深度判断两个数组对象字段相同
/** * 判断此对象是否是Object类型 * @param {Object} obj */ function isObject(obj){ return Object.prototype.toSt ...
- JS深度比较两个对象是否相等
/** * 深度比较两个对象是否相等 * @type {{compare: compareObj.compare, isObject: (function(*=): boolean), isArray ...
- SSH深度历险(二) Jboss+EJB的第一个实例
学习感悟:每次学习新的知识,都会通过第一个小的实例入手,获得成就感,经典的Hello Workd实例奠定了我们成功的大门哈,这些经典的实例虽小但是五脏俱全呢,很好的理解了,Ejb的核心. 今天主要以这 ...
- SSH深度历险(三) EJB Session Bean有状态和无状态的差别与联系
刚開始对两种sessionbean存在误解.觉得有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用.而觉得无状态是每次调用实例化一次,不保留用户信息.细致分析并用实践检验后,会发现,事实 ...
随机推荐
- .NET MVC学习笔记(一)
看了些关于MVC的资料,做一些MVC的笔记. 分解关注点 在MVC世界里有个很重要的观念--"分解关注点"(Separation of Concerns),指的是:当你进行软件开发 ...
- JavaIO流程--创建文件和目录的实例
*创建函数: *public boolean createNewFile():创建文件 本文假设存在.不创造(转让file.createNewFile()返回false) *public bool ...
- 多快好省的做个app开发
从技术经理的角度算一算,如何可以多快好省的做个app [导读]前端时间,一篇“从产品经理的角度算一算,做个app需要多少钱”的文章在网上疯传,可见大家对互联网创业的热情!这次,从一名技术经理的角度再给 ...
- Linux学习笔记——如何使用共享库交叉编译
0.前言 在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件).在这样的情况下便会产生下面疑问,比如: [1]交叉编译时的共享库是否须要放置于目标板中,假设须要放置在哪个文件 ...
- Redis系列之(二):Redis主从同步,读写分离(转)
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
- ExecutorService invokeAll 实例(转)
10个班级,每个班级20名学生,在指定的时间内查询每个班级学生的集合. package cn.com.ld.study.thread; import java.util.ArrayList; impo ...
- Oracle 数据恢复指导具体解释
1.数据恢复指导 : 高速检測.分析和修复故障 最大程度地降低停机故障和执行时故障 将对用户的干扰降到最低 用户界面: --EM GUI 界面 (多个路径) --RMAN 命令行 支持的数 ...
- 王立平-NGUI
NGUI: UI插入 UI : 人机交互界面 UI大部分是2D 眼下就我们总结这些.也许会增加 版权声明:本文博主原创文章,博客,未经同意不得转载.
- SqlServer发送邮件,定时作业
今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件. 现在又多了一种发送邮件的途径. 大致的步骤如下: 1.配置sqlserve ...
- 简单的工具LogUtil、Toast
简单的工具LogUtil.Toast 能够用了 import android.content.Context; import android.util.Log; import android. ...