bboss 项目下载地址:
https://sourceforge.net/project/showfiles.php?group_id=238653
Bboss aop框架的业务组件既可以作为本地服务调用,又可以作为远程服务调用,那么怎么进行远程调用和本地调用呢,本小节就详细的进行说明。
我们进行服务调用时,首先要将提供服务的业务组件配置到bboss的部署描述文件中,这样就可以通过BaseSPIManager组件提供的getProvider方法获取相应组件的实例,然后进行方法调用了。例如:
A) ServiceInf rpc = (test.ServiceInf)
BaseSPIManager.getProvider("(172.16.17.56:1185)/managerid");
B) ServiceInf local = (test.ServiceInf)
BaseSPIManager.getProvider("managerid");
很明显情况A)获取的是主机172.16.17.56:1185上的服务实例,而B)则获取的是本地的服务实例。
从上面的示例我们能够看出,远程服务和本地服务的调用主要是通过getProvider方法的第一个参数serviceid来决定的。那么这个serviceid的定义规则到底是怎样的呢,下面来详细说明。
本地服务id
本地服务id的规则很简单,就是部署描述文件中的配置的maanger 节点的id属性。例如:
<manager id="managerid" //管理服务id
singlable="true" //单列模式
>
<provider type="provider_a" //provider实现a
class="test.A" />
</manager>
本地服务id就是managerid。
远程服务id
远程服务id的规则如下:
(all|_self|ip:port[;ip:port])/serviceid
说明:
Ø (all) /serviceid
在集群中的所有服务器节点中调用远程服务serviceid。服务方法返回值必须是Object类型,如果要获取相应服务器的返回值,可以用以下的方式获取:
Object retvalue = rpc .handle();
Integer value = (Integer)BaseSPIManager.getRPCResult("172.16.17.56", "1185", retvalue);
Ø (ip:port) /serviceid
单点调用远程服务serviceid。服务方法返回值可以是具体的类型,调用方法如下:
Integer value = (Integer) = rpc .handle();
这种模式需要说明的是,如果ip和port就是本地的ip地址和port,那么bboss aop就会将本次调用作为本地服务调用。
Ø (ip:port;ip1:port) /serviceid
在集群中的指定的几个服务器节点中调用远程服务serviceid。服务方法返回值必须是Object类型,如果要获取相应服务器的返回值,可以用以下的方式获取:
Object retvalue = rpc .handle();
Integer value = (Integer)BaseSPIManager.getRPCResult("172.16.17.56", "1185", retvalue);
Ø (_self) /serviceid
相当于本地服务调用。
异常的处理
所有的远程调用的过程中抛出的异常,都会作为
com.chinacreator.remote.RemoteException类型的异常抛出。
分享到:
相关推荐
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
官方版本,亲测可用
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
官方版本,亲测可用
环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+从源代码构建首先从获取源代码然后转到目录bboss-elastic-tran下的cmd窗口并运行gradle build命令: ...
bboss-datatran 提供了丰富的数据转换规则,包括数据类型转换、字段筛选、异常值处理、数据拼接等,确保数据的质量和一致性。此外,它还支持自定义脚本(如Java、Python)进行复杂的数据清洗和预处理任务。 ### ...
本bboss-datatran项目基于Java开发,包含591个文件,包括Java源代码、Markdown文档、GIT忽略文件、Gradle构建文件、Properties配置文件、Preferences配置文件、XML配置文件、GIT属性文件、LICENSE文件和PNG图片。...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
官方版本,亲测可用
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
wf_rejectlogrejectnoderejecttaskidnewtaskid2014-05-16 解决多实例任务多出路分支条件不起作用导致每个分支都产生任务的问题修改2014-05-16 ServiceTask中express类型的服务也支持javadelegate和activitibehavier...
- 模型层详解:介绍如何定义模型类,以及如何与数据访问层交互,执行CRUD操作。 - 视图渲染:如何配置和使用不同的模板引擎,以及如何在视图中展示模型数据。 - AOP应用:示例展示如何定义切面,以及如何应用事务...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
bboss hadoop集群搭建 hadoop集群搭建 hadoop集群搭建 hadoop集群搭建 hadoop集群搭建
3. **设置过滤规则**:在BBoss中,我们可以配置过滤器规则,指定哪些URL路径需要通过`SYSAuthenticateFilter`进行过滤。 4. **过滤请求**:对于需要认证的请求,`SYSAuthenticateFilter`会检查会话中是否存在认证...
**二、BBoss介绍** BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
官方版本,亲测可用