bbossgroups 2.0-RC 通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用
来源:互联网 发布:mac电脑资源库 编辑:程序博客网 时间:2024/05/16 11:45
bbossgroups 2.0-RC中对jgroups已经升级到Jgroups 2.10.0版本,因此对aop中基于JGroups的rpc也做了相应的调整,本文详细讲解新的使用方法:
1.配置文件目录调整:
jgroups本身协议配置文件和存放目录(tcp,udp)
/bbossaop/resources/org/frameworkset/spi/jgroups/jgroups-tcp.xml
/bbossaop/resources/org/frameworkset/spi/jgroups/jgroups-udp.xml
manager-rpc-service.xml中针对JGroups的相应配置为:
<!--
jgroups集群协议配置
-->
<property name="cluster_name" value="Cluster"/>
<property name="cluster_protocol" value="udp"/>
<property name="cluster_protocol.tcp.configfile" value="org/frameworkset/spi/jgroups/jgroups-tcp.xml"/>
<property name="cluster_protocol.udp.configfile" value="org/frameworkset/spi/jgroups/jgroups-udp.xml"/>
2.JGroups协议启动方法没有改变,还是以下的方法:
RPCHelper.getRPCHelper().startJGroupServer();
3.客服端相关接口及使用方法
获取集群节点地址集合方法:
Vector<Address> addresses = JGroupHelper.getJGroupHelper().getAppservers();
获取远程服务组件方法:
- 单播
Address address_ = addresses.get(0);
RPCTestInf testInf = (RPCTestInf)ApplicationContext.getApplicationContext().getBeanObject("(jgroup::" + address_ + ")/rpc.test");
调用远程方法:
Object value = testInf.getCount();
- 多播
Address address_0 = addresses.get(0);
Address address_1 = addresses.get(1);
RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::"+address_0+";"+address_0+")/rpc.test");
调用远程方法:
Object value = testInf.getCount();
获取address_0的结果:
Object ret_0 = BaseSPIManager.getRPCResult(address_0.toString(), value ,Target.BROADCAST_TYPE_JRGOUP);
获取address_1的结果:
Object ret_1 = BaseSPIManager.getRPCResult("address_1.toString(), ret,Target.BROADCAST_TYPE_JRGOUP);
- 组播
RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::all)/rpc.test");
调用远程方法:
Object value = testInf.getCount();
遍历所有结果:
int size = BaseSPIManager.getRPCResultSize(ret);
for(int j = 0; j < size; j ++)
{
Object ret = BaseSPIManager.getRPCResult(j, ret);
System.out.println("ret:" + j + " = "+ret_1186);
}
- bbossgroups 2.0-RC 通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用
- linux下远程调用hadoop集群服务
- 使用RestTemplate来构建远程调用服务
- 远程调用服务
- Hessian-远程服务调用
- aidl远程服务调用
- 调用远程服务
- RPC调用远程服务
- android_58_service_remote_AIDL调用远程服务
- android_59_service_aidl调用远程服务
- jvisualvm 调用远程服务
- 远程服务调用框架设计与实现
- 远程服务调用框架设计与实现
- aidl 实现远程服务调用 及 回调
- 远程服务调用框架设计与实现
- 远程服务调用框架设计与实现
- dubbo+zookeeper实现服务远程调用
- dubbo+zookeeper实现服务远程调用
- grads环境变量的设置
- 失去目标的时候进来看看!
- 『震惊』秘密报告披露转基因食品危害
- Office 2003 打开太慢的9种解决方法
- [转] 每句话都够品一阵。
- bbossgroups 2.0-RC 通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用
- 用SQL Server 2000还原.bak文件
- Windows下SVN+MyEclipse开发环境搭建
- SVN安装配置和使用
- 在你年幼的时候,
- php 写数据库更新记录
- 高性能网站使用的14条技术
- 无法安装KB892130,遇到错误代码: 0x80070005
- 无条件连接