温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用Hessian10分钟配置出一个简单的跨Web服务消息推送

发布时间:2020-05-28 19:12:08 来源:网络 阅读:1086 作者:Red_Ant_hoyl 栏目:开发技术

笔者,之前对Web跨服务推送数据一无所知,今天研究了一下。其实有些事物,在不理解的时候完全觉得好似天外来物。但了解一点点之后,又会觉得十分有趣。每天闲扯一下很开心,下面一个简单的实例10分钟配置出跨Web服务的消息推送。
一、被调用端web.xml配置

<!--HelloHessian  -->
    <servlet>
       <servlet-name>HelloHessian</servlet-name>
        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class><!-- Hessian自带 -->
          <init-param>
         <param-name>home-api</param-name>
         <param-value>com.css.webservices.pushdata.AcceptMailService</param-value><!-- 你的接口 -->
        </init-param>
       <init-param>
         <param-name>home-class</param-name>
         <param-value>com.css.webservices.pushdata.AcceptMail</param-value><!-- 你的接口实现类 -->
        </init-param>
    </servlet>
    <servlet-mapping>
       <servlet-name>HelloHessian</servlet-name>
    <url-pattern>/HelloHessian</url-pattern>
   </servlet-mapping>

二、被调用端
我们这里定义一个接口和一个接口的实现类
利用Hessian10分钟配置出一个简单的跨Web服务消息推送
三、被调用端接口
public interface AcceptMailService {

/**
 * 
 * 远端调用接口
 * @param text  描述类信息
 * 
 */
public void acceptMailFromWeb(String text);
}

四、被调用端接口实现类
public class AcceptMail implements AcceptMailService {

@Override
public void acceptMailFromWeb(String text) {
    System.err.println("我这边接收到你推送的描述类信息为:"+text);
}

}

五、调用端
将上面的两个文件,复制到调用端中。连同文件所在的包一起复制。也就是,定义同名,同包同内容的同被调用端的接口和接口的实现类。

六、调用端,开始推送数据
你知道吗,我们已经配置完调用端服务器与接收端服务器了。
下面开始推送数据:
调用端定义方法,塞入推送的数据,直接推送。
String url = "http://xx.xx.xxx.xxx:8080/20180816/HelloHessian";
String text = "你好,hello,hello,我是要给你推数据的服务器.收到我的消息了吗?";
HessianProxyFactory factory = new HessianProxyFactory();
AcceptMailService acceptMail;
try {
acceptMail = (AcceptMailService)factory.create(AcceptMailService.class, url.toString());
acceptMail.acceptMailFromWeb(text);
} catch (MalformedURLException e) {
e.printStackTrace();
}
七、演示:
同时启动调用端和被调用端的服务。
然后执行推送数据的方法
你就会在被调用端的控制台看到这么一句话
利用Hessian10分钟配置出一个简单的跨Web服务消息推送
推送成功。
试想,我们将String text = "你好,hello,hello,我是要给你推数据的服务器.收到我的消息了吗?";
推送的内容,改为文件流的二进制编码,是不是就可以直接推送文件了(图片啦、音乐啦、word文档啦等等)。
好了,这些事情待会再说,笔者要去吃鸡了。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI