利用Hessian10分鐘配置出一個簡單的跨Web服務消息推送
阿新 • • 發佈:2018-08-16
開始 mage from 分鐘 啟動 hessian accept 就是 pattern 筆者,之前對Web跨服務推送數據一無所知,今天研究了一下。其實有些事物,在不理解的時候完全覺得好似天外來物。但了解一點點之後,又會覺得十分有趣。每天閑扯一下很開心,下面一個簡單的實例10分鐘配置出跨Web服務的消息推送。
一、被調用端web.xml配置 AcceptMailService acceptMail;
try {
acceptMail = (AcceptMailService)factory.create(AcceptMailService.class, url.toString());
acceptMail.acceptMailFromWeb(text);
} catch (MalformedURLException e) {
e.printStackTrace();
}
七、演示:
同時啟動調用端和被調用端的服務。
然後執行推送數據的方法
你就會在被調用端的控制臺看到這麽一句話
推送成功。
試想,我們將String text = "你好,hello,hello,我是要給你推數據的服務器.收到我的消息了嗎?";
推送的內容,改為文件流的二進制編碼,是不是就可以直接推送文件了(圖片啦、音樂啦、word文檔啦等等)。
好了,這些事情待會再說,筆者要去吃雞了。
一、被調用端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();
try {
acceptMail = (AcceptMailService)factory.create(AcceptMailService.class, url.toString());
acceptMail.acceptMailFromWeb(text);
} catch (MalformedURLException e) {
e.printStackTrace();
}
七、演示:
同時啟動調用端和被調用端的服務。
然後執行推送數據的方法
你就會在被調用端的控制臺看到這麽一句話
推送成功。
試想,我們將String text = "你好,hello,hello,我是要給你推數據的服務器.收到我的消息了嗎?";
推送的內容,改為文件流的二進制編碼,是不是就可以直接推送文件了(圖片啦、音樂啦、word文檔啦等等)。
好了,這些事情待會再說,筆者要去吃雞了。
利用Hessian10分鐘配置出一個簡單的跨Web服務消息推送