首页 > 编程知识 正文

服务主机:远程过程调用,gdbserver远程调试

时间:2023-05-06 17:30:42 阅读:135918 作者:1180

在项目中发现了Hprose。 使用此开放源代码组件可以方便地以Web APP应用程序的形式公开web服务并实现远程过程调用。 真的很强大。 读了几篇博文,试着亲手实现了,现在的总结过程如下。

一. Hprose依赖Maven

ependencygroupidorg.HP rose/groupidartifactidhprose-Java/artifactidversion 2.0.32/version/dependency

二、写服务端

首先创建Web项目,然后为POJO创建服务类。 这个班对外提供服务。

package com.lin.pr; 公共类服务{公共字符串服务健康(string name ) { return 'Hello,' name; }

然后,它继承HproseServlet并创建定制的servlet以向外部公开服务接口。

package com.lin.pr; importhprose.com mon.hprosemethods; importhprose.server.hproseservlet; @ web servlet (URL patterns={ '/HP rose/service ' } ) publicclassservicepublishextendshproseservlet @ overrideprotectedviet methods.addmethod('sayHello ',service ); }

入口方法要适当修改

importorg.spring framework.boot.spring application; importorg.spring framework.boot.auto configure.springbootapplication; importorg.spring framework.boot.web.servlet.servletcomponentscan; @ServletComponentScan //启动启动器时, 扫描附加到此目录和子目录的web servlet注释@ springbootapplicationpublicclasshproseapplication { publicstaticvoidmain ()

三.创建客户端

客户端只需创建一个简单的Maven项目并部署hprose依赖的jar包即可。

可以通过两种形式调用远程服务: invoke和创建服务界面。 具体看代码就好了。

package org.lin.userhprose; importhprose.client.hprosehttpclient; /** * Hello world! * /公共类别应用程序(publicstaticvoidmain (string [ ] args ) hprosehttpclientclient=newhprosehttpclient ); client.useservice (http://localhost :8080/HP rose/service ); 从界面调用//iserviceservice=client.useservice (I service.class )的string content=service.say hello (' jack ); system.out.println(RPC调用,返回: ' content ); //try/////从invoke调用//string content=client.invoke (say hello ),newobject ) (jack ),String.class ) //catch(throwablee ) {//e.printStackTrace ); //} }}

package org.lin.userhprose; publicinterfaceiservice { public string say hello (string name ); }

这样就完成了客户端的创建。

测试结果

rpc呼叫,返回: hello,杰克

四.总结

客户端可以通过接口调用服务,可以看到服务端不需要这个接口。 此外,Hprose还可以跨越多种语言,其他语言可以通过适当的类库调用用Java创建的服务。 很简单吧?

代码下载:千兆位数据/打印引导- HProse :打印引导集成HP rose进行rpc调用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。