当前位置: 首页 > news >正文

重庆简易注销在什么网站做网站建设免费代理

重庆简易注销在什么网站做,网站建设免费代理,国内常见响应式网站,我国旅游网站的建设karaf osgi请查看我在Karaf的OSGi中构建普通CXF服务#xff08;无Camel#xff09;的其他文章 。 这是有关如何 创建一个CXF REST服务 使用骆驼多播#xff08;并并行化#xff09;传入的请求 来自两个不同服务的源数据 汇总响应并 最后将合并结果作为JSON返回给最终… karaf osgi 请查看我在Karaf的OSGi中构建普通CXF服务无Camel的其他文章 。 这是有关如何 创建一个CXF REST服务 使用骆驼多播并并行化传入的请求 来自两个不同服务的源数据 汇总响应并 最后将合并结果作为JSON返回给最终用户。 您可以从github下载整个代码库 。 简单来说此应用程序可以做什么 此服务的预期结果是一个硬编码的响应看起来像 从图像中可以看到响应的顶部来自一个名为NameEmailService的服务响应的第二部分来自一个名为AgePhoneService的服务。 同时充实数据的调用和合并结果实体– ConsolidatedSearchResult被填充。 项目结构如下所示 步骤1有两个婴儿步骤。 步骤1.a –创建CXF REST服务 您可能已经猜到了这一步没有什么复杂的。 只是一个接口和一个实现。 接口 Path(rest) public interface RestService {GETPath(query/{queryString})Produces(MediaType.APPLICATION_JSON)public String sourceResultsFromTwoSources(PathParam(queryString) String queryString);} 实作 public class RestServiceImpl implements RestService {private static Logger logger LoggerFactory.getLogger(AgePhoneServiceImpl.class);private NameEmailService nameEmailService;private AgePhoneService agePhoneService;public RestServiceImpl(){}//Do nothing. Camel intercepts and routes the requestspublic String sourceResultsFromTwoSources(String queryString) {return null;}public NameEmailResult getNameEmailResult(String queryString){logger.info(Invoking getNameEmailResult from RestServiceImpl);return nameEmailService.getNameAndEmail(queryString);}public AgePhoneResult getAgePhoneResult(String queryString){logger.info(Invoking getAgePhoneResult from RestServiceImpl);return agePhoneService.getAgePhoneResult(queryString);}public NameEmailService getNameEmailService() {return nameEmailService;}public AgePhoneService getAgePhoneService() {return agePhoneService;}public void setNameEmailService(NameEmailService nameEmailService) {this.nameEmailService nameEmailService;}public void setAgePhoneService(AgePhoneService agePhoneService) {this.agePhoneService agePhoneService;} } 请注意方法实现sourceResultsFromTwoSources返回null。 事实是进行REST调用时甚至不会调用此方法。 骆驼拦截所有对URL的请求并将其路由到各个端点在我们的例子中调用两个方法– getNameEmailResult()和getAgePhoneResult() 。 步骤1.b –创建服务实现 NameEmailService和AgePhoneService的Kiddish实现如下 NameEmailServiceImpl public class NameEmailServiceImpl implements NameEmailService {public NameEmailResult getNameAndEmail(String queryString){return new NameEmailResult(Arun, arunarunma.com);}} AgePhoneServiceImpl public class AgePhoneServiceImpl implements AgePhoneService {public AgePhoneResult getAgePhoneResult(String queryString){return new AgePhoneResult(32, 111-222-333);} }第2、3、4和5步 好吧当我说2、3、4和5是4个步骤时我撒了谎。 使用Camel路由及其企业集成模式实现所有这些操作都只需一步即可完成。 RestToBeanRouter public class RestToBeanRouter extends RouteBuilder {Overridepublic void configure() throws Exception {from (cxfrs://bean://rsServer).multicast().parallelProcessing().aggregationStrategy(new ResultAggregator()).beanRef(restServiceImpl, getNameEmailResult).beanRef(restServiceImpl, getAgePhoneResult).end().marshal().json(JsonLibrary.Jackson).to(log://camelLogger?levelDEBUG);} }我们的路由说明 简而言之routerbuilder所做的就是 1 from (cxfrs://bean://rsServer)拦截对在rest-blueprint.xml定义的JAX-RS服务器端点的所有请求如下所示 rest-blueprint.xml cxf:rsServer idrsServer address/karafcxfcamelserviceClassme.rerun.karafcxfcamel.rest.RestServiceImplloggingFeatureEnabledtrue / 2 .multicast()将未更改的原始请求转发到 1. getNameEmailResult 2. getAgePhoneResult methods in RestServiceImpl 3 .parallelProcessing()并发调用这些方法。 4 .aggregationStrategy(new ResultAggregator())指定如何汇总来自各种多播源的结果。 我们的聚合器看起来像 结果聚合器 public class ResultAggregator implements AggregationStrategy {Overridepublic Exchange aggregate(Exchange oldExchange, Exchange newExchange) {ConsolidatedSearchResult consolidatedSearchResultnull;if (oldExchangenull){consolidatedSearchResultnew ConsolidatedSearchResult();}else{consolidatedSearchResultoldExchange.getIn().getBody(ConsolidatedSearchResult.class);}NameEmailResult nameEmailResultnewExchange.getIn().getBody(NameEmailResult.class);AgePhoneResult agePhoneResultnewExchange.getIn().getBody(AgePhoneResult.class);if (nameEmailResult!null){consolidatedSearchResult.setNameEmailResult(nameEmailResult);}if (agePhoneResult!null){consolidatedSearchResult.setAgePhoneResult(agePhoneResult);}newExchange.getIn().setBody(consolidatedSearchResult);return newExchange;} }我们的聚合器解释 我们的ResultAggregator中的aggregate方法虽然有些粗糙但是可以完成工作。 每当所有多播端点完成时都将调用aggregate方法。 因此第一次oldExchange将为null。 我们以此为契机来构建我们想要响应用户的最终合并结果实体。 我们检查传入的newExchange是调用NameEmailService还是AgePhoneService的结果并相应地填充合并的实体。 最后我们返回合并的实体–返还完成两项工作。 合并的实体以oldExchange形式出现以供下一次调用aggregate方法。 更像是链接–实体最后返回的对象是作为下一个调用的传入交换传入的对象 如果它是aggregate的最后一次调用所有多播端点调用已完成则将其返回给用户。 参考在Rerun.me博客上我们的JCG合作伙伴 Arun Manivannan从OSGi中为Karaf构建Camel-CXF REST服务–多播和聚合 。 翻译自: https://www.javacodegeeks.com/2013/10/building-camel-cxf-rest-service-in-osgi-for-karaf-multicasting-and-aggregation.htmlkaraf osgi
http://wiki.neutronadmin.com/news/313111/

相关文章:

  • 社保网站上怎么做减员wordpress重定向次数过多
  • 深圳html5网站建设高明区做网站
  • 企业门户网站实现网站设计公司 杭州
  • wap网站psd重庆综合网站建设配件
  • 百度推广需要先做网站吗视频网站开发
  • 静态网站作品我也来做外国网站购物
  • 门户网站开发 南宁合肥百度搜索优化
  • 中国网站建设公司图片个人注册商贸公司流程和费用
  • jsp 网站开发环境内蒙古微信公众号114查
  • 做网站的常识广西水利电力建设集团网站
  • 卖书的网站怎么做成都网站定制费用
  • 深圳手机端网站建设大学网站建设招标方案
  • 优秀网站网页设计分析政务网站群建设
  • 做快递单的网站会不会是骗人的信用门户网站建设规范
  • wordpress成品网站云部落手机淘宝客网站怎么做的
  • 哈尔滨企业建站系统企业网站建设趋势
  • 天河区做网站让别人做网站要注意什么
  • 杭州网站推广营销服务wordpress 斜杠结尾
  • 个人建设网站WordPress模板修改后无反应
  • 公司开个网站多少钱wordpress4.9.6 备案
  • 3g微网站是什么东莞技术好的网站建设推广
  • 梨树县住房和城乡建设局网站网站 解析
  • asp双语网站后台怎么用在西安市建设工程交易中心网站上
  • 哪些网站适合做外贸网站推广网站开发的流行架构
  • wordpress后台乱了是怎么回事南昌seo推广
  • 网络优化网络维护网络建站开发公司利用员工身份贷款买房子
  • 2003系统建网站如何做阿里巴巴网站
  • 用jsp做视频网站做网站需要视频衔接怎么做
  • 企业网站改版建议做网站至少要花多少钱
  • .net网站开发免费教程旅游网站策划方案