1. 程式人生 > >利用Hessian10分鐘配置出一個簡單的跨Web服務消息推送

利用Hessian10分鐘配置出一個簡單的跨Web服務消息推送

開始 mage from 分鐘 啟動 hessian accept 就是 pattern

筆者,之前對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>

二、被調用端
我們這裏定義一個接口和一個接口的實現類
技術分享圖片
三、被調用端接口
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();
}
七、演示:
同時啟動調用端和被調用端的服務。
然後執行推送數據的方法
你就會在被調用端的控制臺看到這麽一句話
技術分享圖片
推送成功。
試想,我們將String text = "你好,hello,hello,我是要給你推數據的服務器.收到我的消息了嗎?";
推送的內容,改為文件流的二進制編碼,是不是就可以直接推送文件了(圖片啦、音樂啦、word文檔啦等等)。
好了,這些事情待會再說,筆者要去吃雞了。

利用Hessian10分鐘配置出一個簡單的跨Web服務消息推送