WEB开发网
开发学院服务器服务器方案 Linux集群与jetspeed 阅读

Linux集群与jetspeed

 2008-11-26 10:59:16 来源:WEB开发网   
核心提示: 3.4 Jetspeed的Session数据支持集群必须使得各个服务实体针对某个任务的执行环境是相同的,对于jetspeed来说就是针对各个URL请求,Linux集群与jetspeed(10),session的数据能在各个 jetspeed上复制,这些session被同一个sessioni

3.4 Jetspeed的Session数据

支持集群必须使得各个服务实体针对某个任务的执行环境是相同的,对于jetspeed来说就是针对各个URL请求,session的数据能在各个 jetspeed上复制。这些session被同一个sessionid所标识,这些标识可能来自浏览器的cookies或URL中。我们首先用一个 velocityportlet来显示Jetspeed的session中到底保存了什么数据,这个portlet的注册名字为 SessionPortlet。

3.4.1 SessionPortlet

SessionPortlet是一个velocityPortlet,其类名可以是CustomizerVelocityPortlet或 VelocityPortlet,一般情况下没有必要开发一个新的portlet class。关于如何开发部署portlet的教程可见参考部分,现在我们分注册、控制助手、portlet模版和运行来讲述这个portlet。

3.4.1.1 注册

SessionPortlet用于显示目前的session数据。它在xreg中的注册代码为:

parent="CustomizerVelocity" application="false">
check infomation in session
org.apache.jetspeed.portal.portlets.CustomizerVelocityPortlet
cachedOnName="true" cachedOnValue="true"/>
hidden="true" cachedOnName="true" cachedOnValue="true"/>
legend

velocity.legend

3.4.1.2 控制助手Action

portlets.SessionAction是Velocityportlet模版portlet的控制助手,在velocity解释模版前执行:

public class SessionAction extends VelocityPortletAction {
protected void buildNormalContext( VelocityPortlet portlet,
Context context,
RunData rundata )
{
Map map = new HashMap();
Enumeration enumeration = rundata.getSession().getAttributeNames();
while (enumeration.hasMoreElements()) {
Object key = (Object) enumeration.nextElement();
Object value = (Object)rundata.getSession().getAttribute(key.toString());
map.put(key, value);
}
context.put("sessions",map);
}
}

上一页  5 6 7 8 9 10 

Tags:Linux 集群 jetspeed

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接