如何实现简单的通知系统?
How to implement simple notification system?
比如我有商店目录和公司目录,当我在公司订购商品时,我不想向这家公司的主管发送通知(例如:商店[name]的主管想要订购 15 个苹果..),我该怎么做?我可以在数据库中创建一个 table 吗,例如:
CREATE TABLE `message` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`SenderId` int(11) NOT NULL,
`MessageContent` varchar(2000) COLLATE utf8_turkish_ci NOT NULL,
`MessageDate` datetime NOT NULL,
PRIMARY KEY (`Id`)
)
并在 jquery 中执行此操作:
setInterval(function(){
$.get('ajax_responder',dataObj,function(){
// ajax callback
// here is new notifications.
});
},5000);
或存在相关的现成系统?
我使用 Spring MVC、Hibernate、JSP、jQuery、Maven。
谢谢。
您可以使用 Spring MVC 中的 Websocket 支持将消息从服务器发送到浏览器:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html
如果使用 Postgres,您甚至可以将消息从数据库发送到浏览器:
http://blog.databasepatterns.com/2014/04/postgresql-nofify-websocket-spring-mvc.html
比如我有商店目录和公司目录,当我在公司订购商品时,我不想向这家公司的主管发送通知(例如:商店[name]的主管想要订购 15 个苹果..),我该怎么做?我可以在数据库中创建一个 table 吗,例如:
CREATE TABLE `message` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`SenderId` int(11) NOT NULL,
`MessageContent` varchar(2000) COLLATE utf8_turkish_ci NOT NULL,
`MessageDate` datetime NOT NULL,
PRIMARY KEY (`Id`)
)
并在 jquery 中执行此操作:
setInterval(function(){
$.get('ajax_responder',dataObj,function(){
// ajax callback
// here is new notifications.
});
},5000);
或存在相关的现成系统? 我使用 Spring MVC、Hibernate、JSP、jQuery、Maven。
谢谢。
您可以使用 Spring MVC 中的 Websocket 支持将消息从服务器发送到浏览器:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html
如果使用 Postgres,您甚至可以将消息从数据库发送到浏览器:
http://blog.databasepatterns.com/2014/04/postgresql-nofify-websocket-spring-mvc.html