InfoQ

新闻

Apache Wicket 1.3.1版支持透明集群

作者 R.J. Lorimer译者 宋玮 发布于 2008年2月18日 上午6时39分

社区
Java
主题
开放源代码,
性能和可伸缩性,
声明,
Web框架,
集群与缓存
标签
Wicket
Wicket团队已经宣布了Wicket 1.3.1发行版,这是Wicket 1.3的第一个维护版。Wicket框架从1.2版到1.3版发生了很多变化。以下内容来自最初的1.3发行版公告
  • 最后一个兼容JDK-1.4的Wicket版本(下一版将基于Java 5)
  • 第一个Apache发行版:将包重命名为org.apache.wicket
  • 简化一些核心API
  • 使用相对URL,无需配置即可在代理服务器后工作
  • 增加Google Guice支持
  • 不用修改一行代码,就可直接在一个portal中使用你的Wicket页面(支持JSR-168/JSR-286)
  • 将日志API从commons-logging切换到slf4j
  • 集成velocity模板作为你页面中的panel
  • 基于YUI-calendar和Joda time的date picker(wicket-datetime)
  • 使用Ajax请求增加新的javascript依赖到page header——例如,如果一个组件在客户端经由Ajax而被替换,替换所需的script.aculo.us、 script.aculo.us和其他依赖将会在需要的时候被下载。
  • 改进的、更健壮的header捐献品
  • 使用无状态页面和组件,可以扩展到非常大规模的用户数
  • 改进的AjaxTree/AjaxTreeTable
  • 混合的URL编码可以让搜索引擎和你的用户都满意
  • 创建form panel并可到处使用它们,无需担心form标签的嵌套
  • 把组件层级结构存储到文件系统中(DiskPageStore),尽量减少session的使用
注意,尽管Wicket的1.3分支还是JDK-1.4兼容的,随1.3发行的许多特性只有在Java 5中才能使用,这完全是由其本质所决定的。这些特性包括Google Guice支持和Spring注解支持(这两者都依赖于Java 5注解),以及Wicket JMX bean(需要Java 5 JMX管理工具)。

从最初的Wicket 1.3版发布到Wicket 1.3.1可以使用,时间刚刚过去一个来月,尽管这次发布的主要是维护版本,它也提供了一些增强的功能和特性:
这一版本扫除了许多bug,实施了一些改进。最值得注意的改进是增加的开箱即用的特性——透明集群支持(WICKET-1272)。
1.3.1中增加的透明集群支持利用了在1.3版所增加的DiskPageStore特性,最初的实现由Matej Knopp在Wicket用户邮件列表上作了详细描述。摘录如下:
当一个页面实例从NodeA复制到NodeB时,它立即被存储到NodeB上的DiskPageStore中,而不是保持在session中。这意味着该实例在NodeB上稍后即可被访问,即使之后有另一个页面以同样的方式被复制到NodeB——因为它已经被保存在DiskPageStore里了。而且它也不需要保存在内存中,显著地减少了session状态。

1.3.1中其它问题修复和改进的完整列表可以从这里获得

对于那些希望迁移到1.3.1上的Wicket 1.2用户,有一个迁移文档可供使用,其中详细说明了各个API和功能变化。伴随着迁移到新的“apache”包结构,基于1.2的应用程序可能要做许多核心变化。以下只是一些示例:
  • IModel的“getObject”和“setObject”方法的契约不再接受“Component”作为参数。
  • 由于许可证冲突,Wicket 1.2的扩展项目所提供的DatePicker实现将不再可用。Wicket团队已经提供了基于YUI(Yahoo UI)日历控件的替代品。
  • 校验API现在从form API中剥离出来,以便单独使用。
  • Wicket团队推荐将ServletFilter用作初始化,而不是1.2里所使用的WicketServlet。
Wicket项目可从Apache Wicket Site上获得。至于文档则可访问WikiReference documentation、以及Javadocs。最后,问题可被报告到Wicket issue tracker上。

查看英文原文:Apache Wicket 1.3.1 Release Supports Transparent Clustering

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!