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

首都在线官网网站零件加工网

首都在线官网网站,零件加工网,wordpress智能更新插件,公司怎么注册官方网站文章目录 一、概述二、功能三、XML配置使用1、同步调用1.1、pom中添加依赖1.2、为调用方和服务方创建公共接口。1.3、编写业务接口逻辑、创建并启动RPC Server。1.4、创建并执行RPC Client。 2、异步调用2.1、在接口类上加MotanAsync注解2.2、在client端配置motan_client.xml时… 文章目录 一、概述二、功能三、XML配置使用1、同步调用1.1、pom中添加依赖1.2、为调用方和服务方创建公共接口。1.3、编写业务接口逻辑、创建并启动RPC Server。1.4、创建并执行RPC Client。 2、异步调用2.1、在接口类上加MotanAsync注解2.2、在client端配置motan_client.xml时在同步调用配置的基础上只需要修改referer的interface为Motan自动生成的接口类即可。 3、Zookeeper注册中心配置3.1 在server和client中 添加maven依赖3.2 在server和client 的配置文件中分别增加zookeeper registry定义3.3 在Motan client及server配置改为通过registry服务发现。3.4 server程序启动后需要显式调用心跳开关注册到zookeeper。3.5 启动client调用服务 四、注解配置使用server端配置1、声明Annotation用来指定需要解析的包名2、配置ProtocolConfig、RegistryConfig、BasicServiceConfig的bean对象3、service的实现类上添加MotanService注解注解的配置参数与xml配置方式的service标签一致。4、使用spring-boot启动服务 client端配置1、声明Annotation、protocolConfig、RegistryConfig的配置bean。2、配置basicRefererConfig bean3、在使用motan service 的对象上添加MotanReferer注解4、使用spring-boot启动client 一、概述 Motan是一套高性能、易于使用的分布式远程服务调用(RPC)框架。 二、功能 支持通过spring配置方式集成无需额外编写代码即可为服务提供分布式调用能力。 支持集成consul、zookeeper等配置服务组件提供集群环境的服务发现及治理能力。 支持动态自定义负载均衡、跨机房流量调整等高级服务调度能力。 基于高并发、高负载场景进行优化保障生产环境下RPC服务高可用。 文档索引 三、XML配置使用 1、同步调用 1.1、pom中添加依赖 dependencygroupIdcom.weibo/groupIdartifactIdmotan-core/artifactIdversionRELEASE/version/dependencydependencygroupIdcom.weibo/groupIdartifactIdmotan-transport-netty/artifactIdversionRELEASE/version/dependency!-- only needed for spring-based features --dependencygroupIdcom.weibo/groupIdartifactIdmotan-springsupport/artifactIdversionRELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.2.4.RELEASE/version/dependency1.2、为调用方和服务方创建公共接口。 package quickstart;public interface FooService {public String hello(String name); }1.3、编写业务接口逻辑、创建并启动RPC Server。 package quickstart;public class FooServiceImpl implements FooService {public String hello(String name) {System.out.println(name invoked rpc service);return hello name;} }src/main/resources/motan_server.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:motanhttp://api.weibo.com/schema/motanxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://api.weibo.com/schema/motan http://api.weibo.com/schema/motan.xsd!-- service implemention bean --bean idserviceImpl classquickstart.FooServiceImpl /!-- exporting service by Motan --motan:service interfacequickstart.FooService refserviceImpl export8002 / /beanssrc/main/java/quickstart/Server.java package quickstart;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Server {public static void main(String[] args) throws InterruptedException {ApplicationContext applicationContext new ClassPathXmlApplicationContext(classpath:motan_server.xml);System.out.println(server start...);} }执行Server类中的main函数将会启动Motan服务并监听8002端口. 1.4、创建并执行RPC Client。 src/main/resources/motan_client.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:motanhttp://api.weibo.com/schema/motan xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://api.weibo.com/schema/motan http://api.weibo.com/schema/motan.xsd!-- reference to the remote service --motan:referer idremoteService interfacequickstart.FooService directUrllocalhost:8002/ /beanssrc/main/java/quickstart/Client.java package quickstart;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Client {public static void main(String[] args) throws InterruptedException {ApplicationContext ctx new ClassPathXmlApplicationContext(classpath:motan_client.xml);FooService service (FooService) ctx.getBean(remoteService);System.out.println(service.hello(motan));} }2、异步调用 异步调用与同步调用基本配置完全一样只需要在接口类中加上MotanAsync注解然后client端稍作修改。server端不需要做任何修改。具体步骤如下 2.1、在接口类上加MotanAsync注解 package quickstart;MotanAsync public interface FooService {public String hello(String name); }编译时 Motan自动生成异步service类生成路径为target/generated-sources/annotations/生成的类名为service名加上Async。 例如 service类名为FooService.java,则自动生成的类名为FooServiceAsync.java。 另外需要将motan自动生产类文件的路径配置为项目source path可以使用maven plugin或手动配置。 pom.xml配置如下 plugingroupIdorg.codehaus.mojo/groupIdartifactIdbuild-helper-maven-plugin/artifactIdversionRELEASE/versionexecutionsexecutionphasegenerate-sources/phasegoalsgoaladd-source/goal/goalsconfigurationsourcessource${project.build.directory}/generated-sources/annotations/source/sources/configuration/execution/executions /plugin2.2、在client端配置motan_client.xml时在同步调用配置的基础上只需要修改referer的interface为Motan自动生成的接口类即可。 motan:referer idremoteService interfacequickstart.FooServiceAsync directUrllocalhost:8002/异步使用方式如下 public static void main(String[] args) {ApplicationContext ctx new ClassPathXmlApplicationContext(new String[] {classpath:motan_client.xml});FooServiceAsync service (FooServiceAsync) ctx.getBean(remoteService);// sync callSystem.out.println(service.hello(motan));// async callResponseFuture future service.helloAsync(motan async );System.out.println(future.getValue());// multi callResponseFuture future1 service.helloAsync(motan async multi-1);ResponseFuture future2 service.helloAsync(motan async multi-2);System.out.println(future1.getValue() , future2.getValue());// async with listenerFutureListener listener new FutureListener() {Overridepublic void operationComplete(Future future) throws Exception {System.out.println(async call (future.isSuccess() ? sucess! value: future.getValue() : fail! exception: future.getException().getMessage()));}};ResponseFuture future3 service.helloAsync(motan async multi-1);ResponseFuture future4 service.helloAsync(motan async multi-2);future3.addListener(listener);future4.addListener(listener); }3、Zookeeper注册中心配置 3.1 在server和client中 添加maven依赖 dependencygroupIdcom.weibo/groupIdartifactIdmotan-registry-zookeeper/artifactIdversionRELEASE/version /dependency3.2 在server和client 的配置文件中分别增加zookeeper registry定义 motan:registry regProtocolzk namemy_zookeeper address127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183/3.3 在Motan client及server配置改为通过registry服务发现。 client motan:referer idremoteService interfacequickstart.FooService registrymy_zookeeper/server motan:service interfacequickstart.FooService refserviceImpl registrymy_zookeeper export8002 /3.4 server程序启动后需要显式调用心跳开关注册到zookeeper。 MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true)3.5 启动client调用服务 四、注解配置使用 server端配置 1、声明Annotation用来指定需要解析的包名 Beanpublic AnnotationBean motanAnnotationBean() {AnnotationBean motanAnnotationBean new AnnotationBean();motanAnnotationBean.setPackage(com.weibo.motan.demo.server);return motanAnnotationBean;}2、配置ProtocolConfig、RegistryConfig、BasicServiceConfig的bean对象 功能与xml配置中的protocol、registry、basicService标签一致。 Bean(name demoMotan)public ProtocolConfigBean protocolConfig1() {ProtocolConfigBean config new ProtocolConfigBean();config.setDefault(true);config.setName(motan);config.setMaxContentLength(1048576);return config;}Bean(name registryConfig1)public RegistryConfigBean registryConfig() {RegistryConfigBean config new RegistryConfigBean();config.setRegProtocol(local);return config;}Beanpublic BasicServiceConfigBean baseServiceConfig() {BasicServiceConfigBean config new BasicServiceConfigBean();config.setExport(demoMotan:8002);config.setGroup(testgroup);config.setAccessLog(false);config.setShareChannel(true);config.setModule(motan-demo-rpc);config.setApplication(myMotanDemo);config.setRegistry(registryConfig1);return config;}3、service的实现类上添加MotanService注解注解的配置参数与xml配置方式的service标签一致。 MotanService(export demoMotan:8002)public class MotanDemoServiceImpl implements MotanDemoService {public String hello(String name) {System.out.println(name);return Hello name !;}}4、使用spring-boot启动服务 EnableAutoConfigurationSpringBootApplicationpublic class SpringBootRpcServerDemo {public static void main(String[] args) {System.setProperty(server.port, 8081);ConfigurableApplicationContext context SpringApplication.run(SpringBootRpcServerDemo.class, args);MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true);System.out.println(server start...);}}client端配置 1、声明Annotation、protocolConfig、RegistryConfig的配置bean。 方式与server端配置类似。 2、配置basicRefererConfig bean Bean(name motantestClientBasicConfig)public BasicRefererConfigBean baseRefererConfig() {BasicRefererConfigBean config new BasicRefererConfigBean();config.setProtocol(demoMotan);config.setGroup(motan-demo-rpc);config.setModule(motan-demo-rpc);config.setApplication(myMotanDemo);config.setRegistry(registry);config.setCheck(false);config.setAccessLog(true);config.setRetries(2);config.setThrowException(true);return config;}3、在使用motan service 的对象上添加MotanReferer注解 注册配置与xml方式的referer标签一致 RestControllerpublic class HelloController {MotanReferer(basicReferer motantestClientBasicConfig, group testgroup, directUrl 127.0.0.1:8002)MotanDemoService service;RequestMapping(/)ResponseBodypublic String home() {String result service.hello(test);return result;}}4、使用spring-boot启动client EnableAutoConfigurationSpringBootApplicationpublic class SpringBootRpcClientDemo {public static void main(String[] args) {SpringApplication.run(SpringBootRpcClientDemo.class, args);}}官网文档
http://www.hkea.cn/news/14354775/

相关文章:

  • 集约化网站建设的函网站规划与栏目结构诊断
  • net后缀的可以做网站吗网站设计师需要什么知识与技能
  • 做产品推广的网站有哪些电子商务网站建设与管理 教案
  • 电子商务的网站建设要求步骤手机上可以建设网站吗
  • 南通网站搜索引擎优化租服务器去哪里租
  • 朝阳网站开发设计公司官网需要发什么
  • 医疗营销网站建设wordpress怎么上传网站
  • 企业起名网站怎么做网站建设与维护
  • 呼市浩特网站建设wordpress怎么做企业网站
  • 微网站建设报价方案模板下载seo顾问
  • 营销型机械网站360免费
  • 如何做视频网站流程图微网站设计尺寸
  • 做防腐木网站如何套用wordpress的源码
  • 违法网站开发者百度抓取网站登录
  • 深圳网站制作郑州大型网站建设
  • 网站服务器迁移北京好的网站建设
  • 做网站办什么营业执照二手网站排名
  • 昆山市建设工程质量检测中心网站wordpress修改插件
  • 鞍山哪里做网站seo快速软件
  • 厦门APP开发网站开发公司网站seo 规范
  • 站长之家关键词挖掘工具wordpress 按钮特效
  • 个人博客网站模板素材wordpress导航文件夹
  • 织梦cms做好的网站怎样上传到服务器房地产销售新手入门知识
  • 湖北建设信息网站网站模板素材下载
  • 简书 wordpress 搭建关键词优化公司济南兴田德润团队怎么样
  • 手机网站关键词排网页微信版本
  • 广州网站建设比较好的公司wordpress分类打不开
  • 如何搭建一个视频网站营销型网站套餐
  • 网站建站 上海WordPress 百度 主动
  • 怎么建设局域网网站logo在线设计生成器免费下载