项目中需要消息推送,又想降低开发成本。Java服务器端推送,Web端接收推送信息。
具体需求:
需求一:系统框架实现全局异常捕获并录入日志表,实现实时推送消息到客户端页面展示。
需求二:系统管理员在后台管理系统页面发布一个消息,所有用这个系统的用户无论在哪个页面都能及时收到他发布的消息。
技术实现:
一个第三方的免费推送服务 GoEasy , 它可以满足我的需求,下面是如何用GoEasy进行信息推送及接收。
备注:
免费一年使用
最大可并发连接数:60
套餐消息总量:100,000
步骤一:
1、免费注册一个GoEasy账号。
2、登录您的账号,创建一个“应用”,获得应用的 app key。
步骤二:
1、添加镜像。
goeasy
goeasy
http://maven.goeasy.io/content/repositories/releases/
2、添加依赖。
io.goeasy
goeasy-sdk
0.3.9
步骤三:
1、服务器端发送( 发布)消息。
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());
}
});
步骤四:
1、客户端接收消息( 订阅Channel)。
$(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)
}
});
});