- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式信息交互平台服务者与消费者构建指导手册
服务提供者与消费者构建指导书
1.提供者部署
暴露服务方称之为“服务提供者”。
服务提供者创建步聚:
引入分布式信息交互平台提供方提供的创建服务提供者所需的jar文件,构建创建服务提供者环境。
创建所要提供服务的接口,如提供者demo:Test_provider中定义的com.radiocom.demo.DemoService;接口名称可以按自己需要随便取,与消费者要调用的服务接口对应。在接口中定义所要提供的方法,如demo中DemoService接口定义了一个sayHello(String name)方法。用户可根据自己需要定义若干个方法。
针对提供服务的接口创建实现类。在实现类中按需要提供方法的实现细节。参见com.radiocom.demo.DemoServiceImpl类。实现了接口中sayHello(String name)方法。此步即为客户提供服务的具体内容,后续用于暴露给消费者调用。
创建提供者类,参见类DemoProvider,在main方法中实现服务的暴露及注册。当运行提供者后,定义的服务com.radiocom.demo.DemoService会被注册到所连接的注册中心,以便连接到同一注册中心的消费者根据服务名查找并订阅此服务。订阅成功后,消费者便可对提供者进行远程服务的调用。
DemoProvider.java
// 提供者服务的实现,这是用户暴露服务细节的核心
DemoService demoService = new DemoServiceImpl();
// 当前应用配置
ApplicationConfig application = new ApplicationConfig();
application.setName(demo-provider); // 连接注册中心配置
RegistryConfig registry = new RegistryConfig(); registry.setAddress(zookeeper://192.168.15.249:2181);
registry.setUsername(root);
registry.setPassword(123456);
// 服务提供者协议配置
ProtocolConfig protocol = new ProtocolConfig();
protocol.setName(dubbo);
protocol.setPort(20880);
protocol.setThreads(200);
// 服务提供者暴露服务配置
ServiceConfigDemoService service = new ServiceConfigDemoService(); service.setApplication(application);
service.setRegistry(registry); service.setProtocol(protocol); service.setInterface(DemoService.class);
service.setRef(demoService);
service.setVersion(1.0.0);
// 暴露及注册服务 service.export();
2.消费者部署
调用远程服务方称之为“服务消费者”。
服务消费者创建步聚:
引入分布式信息交互平台提供方提供的创建服务消费者所需的jar文件。构件创建服务消费者环境。
创建服务接口,注:此接口必须与所调用的提供者提供的服务接口一致,注:包名,接口名及结构必须完全一致,接口中定义的方法也必须一致对应。因消费者启动后,会向注册中心根据服务名称查找提供者。此处定义的接口相当于为消费者在注册中心查找服务提供名称,参见Test_consumer中也必有与提供者完全相同的接口com.radiocom.demo.DemoService和接口中定义的方法。
创建消费者类,参见类DemoConsumer,在main方法中实现对提供者服务的远程引用及调用。当启动消费者后(当然前提是它所调用的提供者首先启动成功),通过提供者与消费者共同连接的注册中心,根据服务名称(通常是服务接口全名加版本号的连接字符串)查找提供者已注册的服务。找到后引用提供者服务。接下来根据需要调用提供方服务提供的方法,在消费方返回方法调用的结果,以此达到远程服务调用的目的。DemoConsumer中调用的DemoService的sayHello(String name)的方法实质上调用的是提供方服务的方法。消费方的服务只是一个与提供方服务一致的接口规范,不需要具体实现。方法返回的是提供者服务接口的实现方法。
DemoConsum
文档评论(0)