bboss发布apache cxf 2.7.6服务和定义客户端服务实例放到一起可能会产生冲突并导致服务发布失败,本文介绍这个冲突的解决办法。
首先介绍一下冲突现象,假设在bboss mvc的xml配置文件中定义一个控制器,并为这个控制器注入通过org.apache.cxf.jaxws.JaxWsProxyFactoryBean创建的一个服务客户端实例:
<properties>
<property name="/salary/*.page" class="org.frameworkset.hrm.SalaryControler"
f:salaryService="attr:salaryServiceClient"/>
<property name="salaryServiceClient" factory-class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"
factory-method="create" f:serviceClass="org.frameworkset.web.ws.SalaryService"
f:address="http://localhost:8080/bboss-mvc/cxfservices/salaryServicePort"/>
</properties>
同时通过以下配置在bboss mvc中发布一个cxf webservice服务:
<property name="rpc.webservice.RPCCall"
singlable="true"
ws:servicePort="RPCCallServicePort"
class="org.frameworkset.spi.remote.webservice.RPCCall"/>
由于bboss mvc在发布webservice服务之前会先加载所有的mvc 控制器,这样就会先通过org.apache.cxf.jaxws.JaxWsProxyFactoryBean创建salaryServiceClient客户端实例,同时也会调用org.apache.cxf.BusFactory实现类创建cxf的服务总线org.apache.cxf.Bus的实例,cxf 2.7.6 jar包默认配置了Spring提供的BusFactory子类,bboss中并没有引入Spring的BusFactory子类,肯定创建不起来,所以会导致服务客户端salaryServiceClient创建失败,由于BusFactory只会创建一次,所以即使后续bboss在发布cxf服务强制指定了cxf默认提供的类org.apache.cxf.bus.CXFBusFactory,也无法将服务正确地发布到cxf引擎中。
为了解决上述问题,只需要修改cxf-2.7.6.jar包中META-INF\services目录中的文件
org.apache.cxf.bus.factory内容为:
org.apache.cxf.bus.CXFBusFactory
即可(org.apache.cxf.bus.CXFBusFactory是cxf默认提供的org.apache.cxf.BusFactory实现类)。同时,对bboss发布cxfwebservice服务机制进行改进,在加载所有mvc控制器之前先发布cxf webservice服务。这样上述的冲突就得到彻底解决。
参考文档:
bbossgroups webservice引擎使用方法
- 大小: 35 KB
分享到:
相关推荐
bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...
6. `bboss-velocity-5.5.0.jar`:Velocity是Apache的一个模板引擎,用于生成动态内容,可能在BBoss Elasticsearch中用于构建自定义模板,生成用于导入Elasticsearch的JSON格式数据。 7. `bboss-core-5.5.0.jar`:这...
2. **bboss elasticsearch开发入门教程.wmv**: 通过实例演示,讲解如何使用BBoss进行索引操作、数据插入、查询和更新,帮助初学者快速上手。 **六、资料阅读** "说明.txt" 文件可能包含了关于这些教程的详细步骤和...
BBoss MVCDemo 是一个基于Java的企业级应用框架,它主要为开发者提供了一种高效、灵活的MVC(Model-View-Controller)开发模式。这个框架的目的是简化企业级Web应用的开发流程,提高开发效率,并且具备良好的可扩展...
BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
Domain Specific Language是bboss支持的一种面向领域的特定语言,允许开发者使用JSON格式定义查询和更新语句。DSL语法丰富,支持全文搜索、范围查询、多条件组合查询、聚合分析等多种功能。bboss的DSL支持使开发者...
BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...
"基于bboss新版平台项目环境搭建和代码工具使用视频教程"提供了一套详细的指导,旨在帮助开发者快速掌握bboss新版本平台的相关操作。bboss,全称为Business Basic Open Source,是一个开源的企业级开发框架,它为...
标题 "bboss mvc 通过jsonp实现跨站跨域远程访问" 涉及到的主要知识点是关于Web开发中的跨域通信技术,特别是利用JSONP(JSON with Padding)来解决AJAX请求时遇到的同源策略限制。在互联网应用中,浏览器的安全策略...
bbosssession是一个用于集群环境中实现会话共享的解决方案,它提供了第四代集群会话管理的完整实现,与之前的会话管理方式相比,有着诸多优势和特点。本培训文档将介绍集群session管理的发展历史、bbosssession的...
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
<bean id="propertyConfigurer" class="org.apache.bboss.util.property.PropertyPlaceholderConfigurer"> <value>classpath:config.properties ``` 在上述配置中,`locations`属性指定了属性文件的位置,...
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
6. **性能优化**:BBoss Persistent还可能包括针对CLOB和BLOB的性能优化,比如预读取、延迟加载等策略,以提高应用的响应速度和整体性能。 总结来说,BBoss Persistent 1.0.2在处理CLOB和BLOB这类大字段时,通过...