ejb3.0+jboss5.0 集群疑问与经验

郎岳樟 2009-06-16 08:47:26
今天用jboss5+ejb3 做了一个集群的例子,步骤如下:
1>新建一个ejb工程,定义接口和实现类
接口:HelloWorld.java
public interface HelloWorld {
public String sayHello(String name);

}
实现类:HelloWorldBean.java
@Stateless
@Remote
@Clustered
public class HelloWorldBean implements HelloWorld {

public String sayHello(String name) {
System.out.println("-------------name---------------:"+name);
return name;
}

}
2>新建一个客户端(java project):
导入jboss/client目录下的所有包,
再将服务端的接口打成jar导入客户端下
定义一个类:Client.java
public class Client {

public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
prop.setProperty("java.naming.factory.url.pkgs",
"org.jboss.naming:org.jnp.interfaces");
prop.setProperty("java.naming.provider.url",
"ip 地址");//这里是本机的ip 值得注意的是在执行run命令是一定要加-b ip 不然这里只能监听localhost
try {
InitialContext ict = new InitialContext(prop);
HelloWorld helloWorld = (HelloWorld) ict
.lookup("HelloWorldBean/remote");//红色这个不是写死的,在jboss发布工程时会看到这个jndi名.
for (int i = 0; i < 10000; i++) {
helloWorld.sayHello("HelloWorld"+i);

}
} catch (NamingException e) {
e.printStackTrace();
}
}
}
3>将服务端分别拷贝到两台机器上,两台机器都要安装jboss
分别执行jboss/bin/run 命令 run -c all -b 本地ip //-c all 作用是启动all配置(即全部配置)
-b ip 作用是监听这个ip地址,如果不加这个默认值监听127.0.0.1
4>执行客户端 就会看到两台机器的控制台的变化了,这样就实现了负载均衡,在将一台机器的服务关掉,会看到失效转发的效果


献丑了,这个东西我也刚看,描述的不明白的可以加我msn:l_yz0817@163.com 继续探讨
天津的可以加天津程序员俱乐部msn:group539486@msnzone.cn
...全文
276 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧