項目中須要消息推送,又想下降開發成本。Java服務器端推送,Web端接收推送信息。javascript
具體需求:java
需求一:系統框架實現全局異常捕獲並錄入日誌表,實現實時推送消息到客戶端頁面展現。服務器
需求二:系統管理員在後臺管理系統頁面發佈一個消息,全部用這個系統的用戶不管在哪一個頁面都能及時收到他發佈的消息。併發
技術實現:app
一個第三方的免費推送服務 GoEasy , 它能夠知足個人需求,下面是如何用GoEasy進行信息推送及接收。框架
備註:maven
免費一年使用ide
最大可併發鏈接數:60編碼
套餐消息總量:100,000url
步驟一:
一、免費註冊一個GoEasy帳號。
二、登陸您的帳號,建立一個「應用」,得到應用的 app key。
步驟二:
一、添加鏡像。
<repository> <id>goeasy</id> <name>goeasy</name> <url>http://maven.goeasy.io/content/repositories/releases/</url> </repository>
二、添加依賴。
<dependency> <groupId>io.goeasy</groupId> <artifactId>goeasy-sdk</artifactId> <version>0.3.9</version> </dependency>
步驟三:
一、服務器端發送( 發佈)消息。
GoEasy goEasy = new GoEasy("GoEasy的應用列表中查找", "Common key 在應用列表中查找");
goEasy.publish("log_channel", "Hello world!", new PublishListener() { @Override public void onSuccess() { System.out.print("消息發佈成功。"); } @Override public void onFailed(GoEasyError error) { System.out.print("消息發佈失敗, 錯誤編碼:" + error.getCode() + " 錯誤信息: " + error.getContent()); } });
步驟四:
一、客戶端接收消息( 訂閱Channel)。
<script type="text/javascript" src="http://cdn.goeasy.io/goeasy.js"></script>
<script type="text/javascript"> $(document).ready(function () { var goEasy = new GoEasy({ appkey: "Common key 在應用列表中查找", onConnected: function () { alert("成功鏈接GoEasy。"); }, onDisconnected: function () { alert("與GoEasy鏈接斷開。"); }, onConnectFailed: function (error) { alert("與GoEasy鏈接失敗,錯誤編碼:" + error.code + "錯誤信息:" + error.content); } }); goEasy.subscribe({ channel: "log_channel", onMessage: function (message) { alert("您有新消息:channel:" + message.channel + " 內容:" + message.content); }, onSuccess: function () { alert("Channel訂閱成功。"); }, onFailed: function (error) { alert("Channel訂閱失敗, 錯誤編碼:" + error.code + " 錯誤信息:" + error.content) } }); }); </script>