Pushlet入门案例

1.pushlet是将后台信息主动推送到相应的客户端的消息推送技术。由于时间关系,先将第一个成功的代码案例进行完整上传。

2.环境搭建:新建web项目,将pushlet.jar导入项目;

3.然后是2个属性配置文件:sources.properties,pushlet.properties;

4.配置web.xml:

	<servlet>
		<servlet-name>pushlet</servlet-name>
		<servlet-class>nl.justobjects.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>

 5.写pushlet处理类:

 

package org.wd.cp.smis.push;

import java.io.Serializable;

import nl.justobjects.pushlet.core.Event;
import nl.justobjects.pushlet.core.EventPullSource;

public class HelloWorldPlushlet implements Serializable {
	static public class HwPlushlet extends EventPullSource {

		@Override
		protected long getSleepTime() {
			return 1000;
		}

		@Override
		protected Event pullEvent() {
			Event event =Event.createDataEvent("/test/hello");
			event.setField("msg","hello pushlet!");
			return event;
		}
	}

}

 

 

6.前端接受数据jsp页面(在webroot目录下引入ajax-pushlet-client.js文件):

 

<!DOCTYPE html>
<html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<% String path = request.getContextPath(); %>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
        <script type="text/javascript" src="ajax-pushlet-client.js"></script> 
        <script type="text/javascript"> 
            PL._init(); 
            PL.joinListen('/test/hello'); 
            function onData(event) {
                alert(event.get("msg"));
           } 
      </script>
   </head> 
   <body> 
   <h1>my first pushlet</h1> 
  </body> 
</html>

 最后贴上2个属性配置文件:

pushlet.properties一般是不用修改的。

config.version=1.0.2
controller.class=nl.justobjects.pushlet.core.Controller
dispatcher.class=nl.justobjects.pushlet.core.Dispatcher
logger.class=nl.justobjects.pushlet.util.Log4jLogger
sessionmanager.class=nl.justobjects.pushlet.core.SessionManager
session.class=nl.justobjects.pushlet.core.Session
subscriber.class=nl.justobjects.pushlet.core.Subscriber
subscription.class=nl.justobjects.pushlet.core.Subscription
log.level=4
sources.activate=true
session.id.generation=randomstring
session.id.size=10
session.timeout.mins=5
queue.size=24
queue.read.timeout.millis=20000
queue.write.timeout.millis=20
listen.force.pull.all=false
listen.force.pull.agents=safari
pull.refresh.timeout.millis=45000
pull.refresh.wait.min.millis=2000
pull.refresh.wait.max.millis=6000
poll.refresh.timeout.millis=60000
poll.refresh.wait.min.millis=6000
poll.refresh.wait.max.millis=10000

 pushlet.properties

source1=nl.justobjects.pushlet.test.TestEventPullSources$TemperatureEventPullSource
source2=org.wd.cp.smis.push.HelloWorldPlushlet$HwPlushlet

  然后就可以测试成功了。

你可能感兴趣的:(Pushlet)