读书人

pushlet 应用到项目中 1 (修改Sesssio

发布时间: 2012-09-22 21:54:54 作者: rapoo

pushlet 应用到项目中 一 (修改SesssionManager,和Session类)

修改SesssionManager,和Session类使得sessionId是有意义的,一般改成用户id!

?

Session类添加一个方法:

/*** czp 新增方法,sessionId为用户id * @param anId * @param anEvent * @return * @throws PushletException */public static Session create(String anId,Event anEvent) throws PushletException {Session session;try {session = (Session) Config.getClass(SESSION_CLASS, "nl.justobjects.pushlet.core.Session").newInstance();} catch (Throwable t) {throw new PushletException("Cannot instantiate Session from config", t);}// Init sessionsession.id = anEvent.getField("userId");//sessionId为有意义的用户idsession.controller = Controller.create(session);session.subscriber = Subscriber.create(session);return session;}

?

修改SessionManager类里面的createSession方法:

/** * Create new Session (but add later). * edit by czp */public Session createSession(Event anEvent) throws PushletException {/* * 如果存在user,创建一个带有userid的session, * sessionId变成userid */Session session = null;if(anEvent.getField("userId") != null && !("").equals(anEvent.getField("userId"))){session = Session.create(createSessionId(),anEvent);//个性化方法,加入用户id}else{session = Session.create(createSessionId());}return session;}

?

这样就可以将sessionId变成有意义的id了,现在前台接收的p_id就是userId了.

读书人网 >编程

热点推荐