悉尼 Spring 用户组会议 #2 计划

工程 | Ben Alex | 2006年7月29日 | ...
在我的上一篇博客文章中,我承诺会告知我们下一次用户组会议的详细信息。在寻找合适的场地后,现在已安排在 2006 年 8 月 7 日星期一在悉尼乔治街 200 号的 Cliftons 举行。我们计划进行两次演示。首先,我将讨论 Spring 2.0 命名空间,然后 Infocomp 的 Ramon Buckland 将介绍 SOA 和 JBI 与 Spring 的结合。访问Springframework.org 获取完整详情。

希望在那里见到你。

欢迎来到 Interface21 团队博客

工程 | Keith Donald | 2006年7月7日 | ...

随着 Interface21 发展成为一家全球性公司,每天有一件事越来越清楚地呈现在我面前

我们确实拥有一些非常有才华、积极进取的领导者,他们在商业和技术方面都有很多话要说。
话虽如此,我们想要做的一件事就是为我们的人员提供一个方便、易于访问的渠道来分享他们的见解、经验、想法和创新。在幕后经过一番努力之后,我认为我们做到了。欢迎来到 Interface21 团队博客。

在这里,你将深入了解 i21 正在发生的事情,从我们正在从事的工作,到我们正在解决的问题,再到我们的目标,以及我们在这一过程中学到的东西。你会看到很多多样性,因为我们公司正在做很多事情,从领导Spring 框架和 Spring 产品系列的开发,到在五个主要的国际市场扩展业务。

可以通过RSS订阅整个博客。此外,你可以通过订阅……关注你喜欢的內容。

Spring 2.0 RC2 发布

发行版 | Juergen Hoeller | 2006年7月6日 | ...

亲爱的 Spring 社区:

我们很高兴地宣布 Spring 2.0 RC2 已发布。 下载 | 文档 | 变更日志

这是 Spring 2.0 正式版之前的第二个候选版本。它引入了一些错误修复和细微改进,尤其是在 AOP 框架和 JPA 支持方面。请参阅变更日志了解详情。即将发布的 2.0 RC3 版本将解决一些已知问题;请参阅我们的 JIRA 路线图了解详情。

请在你的应用程序中试用此版本,并让我们知道你可能遇到的任何问题!必须强调的是,Spring 2.0 向后兼容 Spring 1.x 系列。Spring 2.0 继续支持JDK 1.3+J2EE 1.3+(甚至 J2EE 1.2+,但 JSP 标签和 EJB 支持除外)。兼容性对我们的用户至关重要,我们致力于提供它。因此,我们也希望了解在任何此类平台上可能出现的兼容性问题。

感谢您在此版本发布前提供的全部反馈。我们期待在 2.0 GA 正式版发布时获得更多反馈!

享受!

Juergen Hoeller
Spring 2.0 产品开发负责人

Spring Web Flow 1.0 RC3 发布

发行版 | Keith Donald | 2006年6月26日 | ...
 

亲爱的 Spring 社区:

我们很高兴地宣布Spring Web Flow (SWF) 1.0 RC3(候选版本 3)已发布。 下载 | 文档 | 变更日志

此稳定版本包含错误修复和细微改进。目前,我们预计这将是 Spring Web Flow 1.0 正式版之前的最后一个候选版本,正式版即将发布。值得注意的改进包括……

值得注意的改进

改进的流程异常层次结构。现在,异常层次结构更清晰地组织了从流程定义访问(FlowLocatorException)到运行时流程执行(FlowExecutionException)和执行持久性(FlowExecutionRepositoryException)的故障类别。

 

改进对 Portlet 环境中“后退”按钮使用的支持。结合基于延续的存储库,SWF 支持在 Portlet 环境中充分使用浏览器导航按钮(后退、刷新),而流程保持活动状态。当流程执行终止时,浏览器刷新将自动触发启动新的执行。

更简单的默认 JSF 视图映射。现在,默认情况下,SWF 视图名称应与 JSF 视图 ID 完全对应。你将在 sellitem-jsf 示例中看到此默认值——请注意视图是如何像标准 JSF 导航处理程序一样引用为“/priceAndItemCountForm.jsp”的。这允许自然地支持其他 JSF 视图技术,例如 Facelets,并且对于 JSF 开发人员来说是一个更自然的默认值。如果需要自定义映射 SWF 到 JSF 视图的映射,请将自定义 ViewIdMapper 插入到你的 FlowPhaseListener 中。

示例应用程序简化。我们简化了 fileupload、flowlauncher、birthdate 和 sellitem 示例,以利用 Spring Web Flow 的最新功能和最佳实践。

潜在影响用户的更改

在 1.0 正式版发布过程中,1.0 RC3 有一些可能影响用户的更改。以下部分对此进行了说明。

为简化起见,已删除 FormAction 属性“validateUsingValidatorMethod”。经验表明,此属性是新用户混淆的来源。作为更好的替代方法,要执行不带验证的数据绑定操作,只需从流程定义中调用“bind”操作方法。当需要逐个执行 Validator 验证时,只需使用“validatorMethod”属性设置为特定验证器方法来调用“bindAndValidate”或“validate”。请参阅 sellitem 了解示例。

StateExceptionHandler 已重命名为“FlowExecutionExceptionHandler”。这会影响自定义处理程序实现。要升级,只需实现新接口;签名在逻辑上是相同的。

FlowExecutorImpl 的“redirectOnPause”属性现在接受布尔值而不是 RedirectType 枚举。截至 1.0 RC2,SWF 中只有一个重定向类型——流程执行重定向。每次流程执行通过进入视图状态暂停时,将此标志设置为“true”都会触发它。请参阅 Numberguess 或 sellitem 了解示例。
--------

开始使用 Spring Web Flow 的最佳方法之一是查看和演练示例应用程序。我们建议查看所有示例,并在需要时补充参考手册资料。1.0 RC3 版本附带十个示例应用程序,每个应用程序都演示了产品的一组独特功能。这些示例是:

1. Phonebook - 演示大多数功能(包括子流程)的原始示例
2. Sellitem - 演示带有条件转换、流程执行重定向、会话范围和延续的向导
3. Flowlauncher - 演示启动和恢复流程的所有可能方法
4. Itemlist - 演示 REST 风格的 URL 和内联流程
5. Shippingrate - 演示 Spring Web Flow 与 Ajax 技术的结合(感谢 Steven Devijver)
6. NumberGuess - 演示有状态 Bean 和“单键”流程执行重定向。
7. Birthdate - 演示 Struts 集成
8. Fileupload - 演示多部分文件上传
9. Phonebook-Portlet - Portlet 环境中的 phonebook 示例
(请注意流程定义没有更改)
10. Sellitem-JSF - JSF 环境中的 sellitem 示例

享受!

Spring Web Flow 团队

Keith Donald
Erwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop

Spring 2.0 RC1 发布

发行版 | Juergen Hoeller | 2006年6月21日 | ...

亲爱的 Spring 社区:

我们很高兴地宣布 Spring 2.0 RC1 已发布。 下载 | 文档 | 变更日志

这是在过去六个月中发布五个里程碑版本后,Spring 2.0 的第一个候选版本。此稳定版本正在等待广泛的用户反馈,目标是在 7 月初发布 2.0 正式版。

Spring 2.0 的主要新主题是:

  1. 简化的配置 - 你会发现,总体而言,你需要编写更少的代码来配置你的应用程序。你编写的代码是高级的和特定于领域的,受益于智能默认值以及丰富的验证和工具支持。

  2. 强大的 AOP 统一 - 你可以使用 AspectJ 简洁地应用在对象之前、之后和周围编织自定义行为的方面,同时仍然受益于 Spring AOP 运行时的简单性。

  3. JSR 220 Java 持久性体系结构 (JPA) - 为你提供持久性提供程序实现的选择。Spring 是第一个在 JEE 和 JSE 环境中都支持 JPA 并提供两者之间完全可移植性的框架。

  4. 异步 JMS 消息传递 - 消息驱动的 POJO 为 JSE 环境带来了轻量级异步组件,并可以选择 JMS 提供程序。

  5. JSR-168 Portlet - Spring Portlet MVC 提供了一个用于开发 JSR 168 Portlet 的框架,其中包括与Spring Web Flow 集成以协调用户交互。

必须强调的是,Spring 2.0 向后兼容 Spring 1.x 系列。兼容性对我们的用户至关重要,我们致力于提供它。

这些领域的其他主要新功能包括……

配置简化
  • 基于XML Schema的Bean定义,以及开箱即用的XML命名空间,简化常见的配置任务。
  • 支持应用程序上下文中的扩展Bean作用域,主要目标是Web请求和会话作用域。
  • Bean定义增强:Bean类的延迟加载、集合合并和智能错误消息。
面向切面编程 (AOP)
  • 基于XML Schema命名空间的简化AOP配置。
  • 支持AspectJ切点表达式语言和@AspectJ风格的切面。
  • 支持对任何对象的依赖注入,包括细粒度的领域对象(基于AspectJ)。
持久化和JPA
  • 增强的JDBC支持:命名SQL参数、基于泛型的SimpleJdbcTemplate。
  • 明确支持Hibernate 3.1和3.2(同时保持与Hibernate 3.0的兼容性)。
  • 支持Java持久化API (JPA),包括带有类检测的完整容器契约。
调度和消息
  • TaskExecutor抽象用于提交异步工作。
  • 支持各种线程池,例如Java 5 ThreadPoolExecutor和CommonJ WorkManager。
  • 基于消息监听器容器支持异步JMS(“消息驱动POJO”)。
Web应用程序开发
  • 基于约定的Web MVC:控制器映射、模型属性名称。
  • 用于Spring Web MVC和Spring Web Flow的JSP表单标签库。
  • 完全支持Portlet环境,包括基于DispatcherPortlet的Portlet风格MVC。

……以及许多其他细节上的改进。

要实际查看这些功能,请查看发行版中**samples/jpetstore**目录下包含的JPetstore参考应用程序。有关更多详细信息,请参阅参考文档的2.0新增功能?部分。

我们将在未来几天与Maven2社区合作,将2.0 RC1上传到Maven存储库。

感谢Spring社区提供的所有反馈,这些反馈促成了本次发布。我们期待您对即将发布的2.0 GA版本的反馈!

享受!

Juergen Hoeller
Spring 2.0 产品开发负责人

Spring Web Services 1.0 M1发布

发行版 | Arjen Poutsma | 2006年6月12日 | ...

亲爱的 Spring 社区:

我很高兴地宣布Spring Web Services 1.0 M1已发布。下载 | 文档 | 变更日志

此版本是Spring-WS的第一个里程碑:Spring社区的一个产品,专注于创建文档驱动的Web服务。

Spring-WS 1.0 M1包括

  • 基于Apache Axiom的流式SOAP消息模型,
  • 与Acegi集成的WS-Security支持,
  • JAXB 2.0编组器支持,
  • 自0.9.1版以来发现的许多改进和错误修复。

有关详细信息,请参阅变更日志

有关Spring-WS及其目标的更多信息,请参阅Spring-WS主页

Spring Web Flow 1.0 RC2发布

发行版 | Keith Donald | 2006年6月10日 | ...


 

亲爱的 Spring 社区:

我们高兴地宣布Spring Web Flow (SWF) 1.0 RC2(候选发布版2)已发布。下载 | 文档 | 变更日志

此版本包含错误修复和细微改进。1.0 RC2的新增和值得注意的功能包括……

新增和值得注意的功能

以可配置的方式支持从调用环境传递新启动的流程执行输入。默认情况下,所有请求参数都作为输入公开。然后,流程可以选择使用其输入映射器将其输入映射到其自己的局部作用域。此映射器定义了流程的输入契约,无论流程是作为顶级流程启动还是作为子流程启动,该契约都是一致的。

以下请求URL为例

https://127.0.0.1:8080/flights/search-flow?flightNumber=12345

默认情况下,当访问此URL时,后台FlowExecutor将“flightNumber”请求参数放入“输入映射”中。“输入映射”然后传递到“search-flow”的新执行。

在search-flow定义中

<flow start-state="executeSearch">
    <input-mapper>
        <mapping source="flightNumber" target="flowScope.flightNumber"/>
    </input-mapper>

    ...
</flow>
上面的<input-mapper>定义了流程的输入契约,说明此流程支持“flightNumber”输入属性。启动时提供flightNumber时,它将在“flowScope”中以“flightNumber”的名称进行映射。映射器还能够在映射操作期间执行类型转换。

要自定义流程执行输入映射填充,例如,从请求路径或其他外部来源提取属性,请配置“FlowExecutorImpl.inputMapper”属性。

支持JSR168 Portlet环境中的流程执行和外部重定向。结合基于延续的存储库,这允许在Portlet环境中使用浏览器导航按钮(后退、刷新)。同样在Portlet环境中,我们现在公开了“globalSessionMap”属性,用于访问Portlet会话APPLICATION_SCOPE中的属性。

一个名为“SingleKeyFlowExecutionRepositoryFactory”的新存储库工厂。此实现为每个持久性流程执行生成一个唯一的标识符。它有助于实现1.0 EA“会话重定向”语义——在每次POST之后,REDIRECT-GET都会命中一个稳定的“流程执行URL”,其中嵌入了常量流程执行密钥。有关说明,请参阅NumberGuess示例。

引入独立的“会话”子系统,提供的流程执行存储库实现委托给它来划分管理流程执行状态的逻辑会话。此会话子系统与Spring Web Flow的其他部分完全解耦,可以在SWF之外使用,并且可能会随着时间的推移发展成为其自身的独立模块。中心服务接口包括

public interface ConversationService {
    public Conversation beginConversation(ConversationParameters parameters);
    public Conversation getConversation(ConversationId id);
    public ConversationId parseConversationId(String encodedId);
}


public interface Conversation {
    public ConversationId getId();
    public void lock();
    public void end();
    public Object getAttribute(String name);
    public void setAttribute(String name, Object value);
    public void removeAttribute(String name);
    public void unlock();
}
当启动新的流程执行并且需要将其持久化到一个请求之外时,存储库会调用“beginConversation”来启动新的逻辑
会话并将属性放在会话范围内以跟踪执行状态。同样,当流程执行结束时,管理会话也结束,任何已分配的状态都将被清除。

将来,我们预计将在此系统中提供强大的功能,包括通过JMX进行会话监控和管理,以及会话历史记录和统计信息。我们还预计将证明其适用于Spring Web Flow之外的其他环境。特别感谢Juergen Hoeller和Ben Hale帮助设计了这个可移植的会话服务抽象。


潜在影响用户的更改

在1.0 RC2中,通往1.0最终版有一些可能影响用户的更改。以下部分说明了这些更改。

在spring-webflow-dtd中,我们将“resultName”和“resultScope”<action/>元素属性分别重命名为“result-name”和“result-scope”,以与其他属性和元素名称保持一致。

为简化起见,删除了FormAction属性“bindOnSetupForm”和“validateOnBinding”。经验表明,这些属性很少使用,并且一直是新用户混淆的来源。作为更好的替代方案,要在进入视图状态之前执行数据绑定操作,只需从流程定义中调用“bind”操作方法即可。要计算是否应为bindAndValidate尝试执行验证,请重写单个“validationEnabled(RequestContext)”钩子。

删除了FormAction“exposeFormObject”操作方法。只需使用“setupForm”,这是首选方法。

FlowExecutionRepository和FlowExecutor SPI接口已简化。现在更多逻辑封装在FlowExecutionRepository后面,包括生成的FlowExecutionKeys的结构和格式。此外,FlowExecutionRepository现在严格负责管理持久性流程执行,而不再负责其他任何操作。“会话”的附加概念不再为SWF核心所知。这意味着几件事

  • 整体存储库接口更简单,更容易创建具有自定义FlowExecutionKeys的自定义FlowExecutionRepositories。
  • SWF核心词汇更强大:流程执行器调用流程执行来执行流程。超出单个请求仍处于活动状态的执行将被持久化到存储库。
  • 默认存储库实现选择委托给不同的“会话子系统”来跟踪由执行系统驱动的会话状态,但对该系统的依赖性是完全封装的,并且是可选的。

FlowExecutor接口(SWF的入口点)也为调用者简化了。它现在封装了对复杂内部类型的了解,例如
EventIds和FlowExecutionKeys,因此总体上更容易使用。

同样,删除了对显式“conversationRedirect”的支持。这意味着删除了“conversationRedirect:”
“view”前缀和“CONVERSATION”RedirectType。要使用1.0 RC2实现相同的逻辑重定向语义,只需使用redirectOnPause类型FLOW_EXECUTION和SingleKeyFlowExecutionRepositoryFactory的存储库工厂配置FlowExecutor即可。
SingleKeyFlowExecutionRepositoryFactory。
--

Spring Web Flow 1.0 RC2进一步完善了参考手册,提供了50页关于SWF用法的资料。该手册以HTML和PDF格式在线提供。

开始使用Spring Web Flow的最佳方法之一是查看和演练示例应用程序。我们建议从一开始就查看所有示例,并根据需要补充参考手册资料。1.0 RC2版本附带十个示例应用程序,每个应用程序都演示了产品的一组不同功能。这些示例是

1. Phonebook - 演示大多数功能(包括子流程)的原始示例
2. Sellitem - 演示带有条件转换、流程执行重定向、会话范围和延续的向导
3. Flowlauncher - 演示启动和恢复流程的所有可能方法
4. Itemlist - 演示 REST 风格的 URL 和内联流程
5. Shippingrate - 演示Spring Web Flow与Ajax
技术(感谢Steven Devijver)
6. NumberGuess - 演示有状态Bean和“单键”流程
执行重定向。
7. Birthdate - 演示 Struts 集成
8. Fileupload - 演示多部分文件上传
9. Phonebook-Portlet - Portlet 环境中的 phonebook 示例
(请注意流程定义没有更改)
10. Sellitem-JSF - JSF 环境中的 sellitem 示例

要一步构建用于部署的示例应用程序,只需解压缩发行版存档,访问projects/spring-webflow/build-spring-webflow目录并执行“ant dist”目标即可。 请参阅发行版readme.txt和
projects/spring-webflow/spring-webflow-samples/readme.txt,分别了解有关发行版存档内容和示例的更多信息。
所有示例项目都是Spring IDE项目,可以直接导入到Eclipse中。

感谢所有支持此版本的人。目前,我们预计下一个SWF版本将是1.0最终版,目标是6月下旬
时间段。如果需要,我们仍然有可能发布另一个1.0候选版本。请务必监控SWF主页和
论坛以获取更新。

享受!

Spring Web Flow 团队

Spring Web Flow 1.0

发行版 | Keith Donald | 2006年6月10日 | ...

 

产品负责人
Keith Donald,SpringSource
Erwin Vervaet,Ervacon
 
Spring Web Flow是一个下一代Java Web应用程序控制器框架,它允许开发人员将用户操作建模为称为流程的高级模块,这些模块可在任何环境中运行。该框架提高了生产率和可测试性,同时提供了一个强大的解决方案来强制执行导航规则和管理应用程序状态。

大图景

Spring Web Flow允许开发人员构建可重用、自包含的……

Spring IDE 1.3.1 发布

发行版 | Torsten Juergeleit | 2006年6月8日 | ...

亲爱的 Spring 社区:

我们高兴地宣布Spring IDE 1.3.1已发布。

此版本的Spring IDE提供了一系列错误修复。要查看完整列表,请访问 http://springide.org/project/milestone/Release%201.3.1

更改

  • 现在,只有在您想使用BeansXmlEditor时,才需要Web Tools
  • 修复了图像缓存中的资源泄漏
  • 更新到Spring 1.2.8

更多详细信息可在项目的网站http://springide.org/上找到

使用Eclipse的更新管理器从项目的更新站点http://springide.org/updatesite/ 安装此版本

对于错误报告,工单可以……

Acegi Security 1.0.0 发布

发行版 | Ben Alex | 2006年5月30日 | ...

经过两年半多的开发,我很高兴地宣布Acegi Security 1.0.0现在正式发布。

下载 | 文档 | 变更日志

除了自1.0.0 RC2以来80多个改进和修复之外,此新版本还包含一些帮助新用户的更改。这包括对参考指南(现在超过90页)进行重大重构和扩展,以及新的“基本”教程示例应用程序。

此外,许多新用户经常遇到的问题都得到了解决,例如

  • 自定义403消息(而不是使用Servlet容器的错误处理程序)
  • 在XML文件重新格式化后检测损坏的属性输入
  • 新的注销过滤器。

我们还重构了我们的LDAP服务,使SecurityContextHolder成为一个可插入的策略(对于希望避免使用ThreadLocal的富客户端尤其有用),并改进了CAS支持。

请访问此处查看详细的变更日志。与往常一样,发行版ZIP文件中包含详细的升级说明。

项目的网站http://acegisecurity.org提供了有关Acegi Security功能的更多信息、在线文档访问以及下载最新版本的链接。下个月我还会在SpringOne上做一个关于Acegi Security的演示,所以希望在那里见到你。

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加快您的进度。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部