码迷,mamicode.com
首页 > 其他好文 > 详细

SSH集成Pushlet

时间:2014-07-16 23:15:25      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   art   io   

首先是需要的资源:

1)、pushlet.jar

2)、ajax-pushlet-client.js

第一步、web.xml配置servlet

  <servlet>
    <servlet-name>pushlet</servlet-name>
    <servlet-class>com.newgsn.tvmall.pushlet.servlet.Pushlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>pushlet</servlet-name>
    <url-pattern>/pushlet.srv</url-pattern>
  </servlet-mapping>

Pushlet类自定义类,继承自nl.justobjects.pushlet.servlet.Pushlet.java
第二步、创建自定义的Pushlet类

初始化pushlet,并注入applicationContext

public class Pushlet extends nl.justobjects.pushlet.servlet.Pushlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    public void init() throws ServletException {
        super.init();
        
        ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
        SessionManager.getInstance().initApplicationContext(ctx);
    }

}

第三步、创建推送消息工具类

public class PushletUtil {
    
    private static String PLATFORM_MESSAGE = "UNI_CAST_MESSAGE";
    
    /**
     * 发送消息至客户端
     * @param sessionId
     * @param msg
     */
    public static void sendMessage(String sessionId, String msg){
        if(StringUtils.isNotBlank(sessionId) && SessionManager.getInstance().hasSession(sessionId)){
            Event event = Event.createDataEvent("message");
            event.setField(PLATFORM_MESSAGE, msg);
            Dispatcher.getInstance().unicast(event, sessionId);
        }
    }
    
    /**
     * 广播至所有在线客户端
     * @param msg
     */
    public static void sendBroadcast(String msg){
        Event event = Event.createDataEvent("message");
        event.setField(PLATFORM_MESSAGE, msg);
        Dispatcher.getInstance().broadcast(event);
    }
}

实现点对点推送和广播推送
第四步、jsp页面接收消息

PL._init();
PL.userId=‘qinfx‘;  
p_join_listen("message");
function onData(event) {   
    if(event.get(‘UNI_CAST_MESSAGE‘) != undefined ) {
        alert(event.get(‘UNI_CAST_MESSAGE‘));    
    }
    if(event.get(‘UNI_LOGOFF‘) != undefined ) {
        alert(event.get(‘UNI_LOGOFF‘));
    }
}

PL.userId为当前登录用户的id

 

 

 

SSH集成Pushlet,布布扣,bubuko.com

SSH集成Pushlet

标签:style   blog   java   color   art   io   

原文地址:http://www.cnblogs.com/siyu/p/3811454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!