EJB3.0+JBOSS4.0.5GA集群
服务器端代码:
HelloWorld.java:
2
3@Remote
4publicinterface HelloWorld {
5public String sayHello(String s);
6}
7
HelloWorldBean.java
2
3import org.jboss.annotation.ejb.Clustered;
4
5import cn.HelloWorld;
6
7@Stateless
8@Clustered
9publicclass HelloWorldBean implements HelloWorld {
10
11public String sayHello(String s) {
12 System.out.println(s);
13return s;
14 }
15
16}
上面第8行的@Clustered是必须的,因为我们需要使用Stateless Bean的集群功能。
分别在IP地址为:192.168.1.88和192.168.1.99机器上面安装JBOSS4.0.5GA,JBOSS4.0.5可以去下载文件名为jboss-installer-1.2.0.GA.jar的安装,安装的时候选择ejb3-clustered,再下面有一步时选择Advance,再在Name输入框输入all,其它默认就可以了。
两台机器上面都安装好之后,分别在两台机器上面启动jboss,启动的时候需要加参数:如IP为192.168.1.88的机器启动JBOSS,则为:run -c all -b 192.168.1.88
当两台机器的JBOSS都正常启动后,将上面的Stateless Bean打包成jar包,发布到其中一台%JBOSS_HOME%\server\all\farm目录下面,这样集群中的其它结点将自动发布这个jar包。
当发布完成之后,我们编写客户端:
Client.java
2
3import javax.naming.InitialContext;
4import javax.naming.NamingException;
5
6publicclass Client {
7
8publicstaticvoid main(String[] args) {
9 Properties prop =new Properties();
10 prop.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
12 prop.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
14 prop.setProperty("java.naming.provider.url","192.168.1.88:1099,192.168.1.99:1099");
16
17try{
18 InitialContext ict =new InitialContext(prop);
19 HelloWorld helloWorld = (HelloWorld) ict
20 .lookup("HelloWorldBean/remote");
21for (int i =0; i <10; i++) {
22 helloWorld.sayHello("HelloWorld");
23 }
24 }catch (NamingException e) {
25 e.printStackTrace();
26 }
27 }
28}
29
上面这个客户端配置了JBOSS服务器IP地址及端口,调用远程接口的HelloWorldBean,并连续调用10次sayHello方法。在JBOSS控制台上面可以看到打印出HelloWorld。
程序运行结果发现:在192.168.1.88 的JBOSS控制台上面打印出4个HelloWorld,另一个JBOSS控制台上面则打印出6个HelloWorld。加起来正好10个HelloWorld,可以发现两台JBOSS已经实现了负载均衡。
集群中的任何一个结点挂掉之后,程序都可以正常运行
转载自:http://www.blogjava.net/ahanflw/archive/2008/05/22/202260.html
相关推荐
EJB集群资料EJB集群资料EJB集群资料EJB集群资料
jbss 7.1.2 EJB 集群例子
java源码:EJB中JNDI的使用源码例子.zip
NULL 博文链接:https://kylinsoong.iteye.com/blog/784231
ejb 集群示例 JBoss EJB 集群示例 安装 在域模式下运行干净的 JBoss EAP 6.3 ./jboss-eap-6.3/bin/domain.sh 运行安装脚本 ./jboss-eap-6.3/bin/jboss-cli.sh -c --file=setup.cli 在服务器上部署文件ejb-cluster...
EJB和J2EE联合开发JAVA程序的好技术:EJB_and_J2EE_arch1.pdf
北邮 分布式计算课件 教师:邹华 第四章:ejb-1
Java EJB自定义错误信息的例子,提示信息本地化的一个测试,这个代码触发调用一个状态Bean中的方法,定义了CountBean接口,调用了每一个EJB对象的count(),保证Bean正常被激活和钝化,同时还使用了累加器,以对话...
北邮 分布式计算课件 教师:邹华 第四章:ejb-2
简明扼要概括EJB的工作原理,让你能更好地理解EJB的工作机制
java源码:EJB 模拟银行ATM流程及操作源代码.zip
java源码:EJB的真实世界模型(源代码).rar
在学习ejb时做了一个小例子,有一些实体bean和sessionbean的实现,和一个简单的前台交互
EJB3开发指南英文版《EJB.3.Developer.Guide》 出版商:PacketPublishing 出版日期:2008年5月 页数:276 简介: 第一章:EJB3体系结构简介 第二章:Session Beans 第三章:实体Entities 第四章:对象关系映射ORM 第...
E EJB 一个完整的例子
ejb综合例子,ejb综合例子,ejb综合例子,ejb综合例子
介绍EJB体系结构,EJB程序的开发,部署等。
目前Tomcat并不直接支持EJB,但可借助openejb插件来间接能够支持EJB
EJB3入门例子,jboss5+EJB3+myEclipse
学习EJB的简单例子,有个需要说明的地方:wlfullclient.jar生成方式是,进入weblogic的安装目录例如C:\Oracle\Middleware\wlserver_10.3\server\lib,运行 java -jar wljarbuilder.jar就能生成wlfullclient.jar文件