学习感悟:每次学习新的知识,都会通过第一个小的实例入手,获得成就感,经典的Hello Workd实例奠定了我们成功的大门哈,这些经典的实例虽小但是五脏俱全呢,很好的理解了,Ejb的核心。
今天主要以这个小实例,来学习EJB的分布式,我们可以将接口与实现放到一台计算机上,而客户端可以放到另一台机器上,当然分布式的意思很大了(下篇博客给大家讲解),快来看实例。
一:代码实现
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>
<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:编写客户端来通过接口调用实现
<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>
客户端实例化一个上下文对象,然后通过其lookup方法查找远程实现,最后调用具体的方法。客户端想要成功调用,需要将其接口引用到客户端的项目里。
需要添加jndi配置文件
java.naming.provider.url指的是接口跟实现所在机器的地址和端口。
<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>
效果实现
总结
实现了本文实例,大家就算是入门了,带着这些成功的学习劲头,快速继续学习,在后文我会对Ejb进行更加深入的剖析。
Java深度历险(一) Jboss+EJB的第一个实例,布布扣,bubuko.com
原文:http://blog.csdn.net/lishehe/article/details/28588637