用Spring Web Flow和Terracotta搭建Web应用

时间:2007-06-14 01:22:07  来源:站长资讯收集整理  作者:佚名

  这个架构是中心辐射的,也就是有一个管理客户端的中心调度器。在这里客户端就是你配有Terracotta for Spring运行时的普通应用。调度器不是单点失败的,但你可以配置一组备用调度器,并在主调度器崩溃时选择一个来接替。你也可以独立于客户端,对调度器进行集群扩展。

  构建一个高可用的有状态web应用

  这里我们使用一个叫Sellitem的示例应用来推动讨论并展示给大家:

  如何使用Spring Web Flow来构建一个有状态基于会话的web应用。

  如何使用Terracotta for Spring来声明式集群有状态应用。

  Sellitem示例应用可以在Spring Web Flow的发布版本中找到。(更多信息见文章末尾的“Resources”章节)

  使用Spring Web Flow实现一个有状态Web应用: Sellitem

  Sellitem是展示结合了有条件转移、会话域、流程执行转向和延续性的示例应用。用户在几个页面间导航,可以定义货物的价格、可以销售的货物数量、折扣比率、送货详情(如果需要)和最后查看所有信息。

  我们不会通读应用的所有源码,而是主要介绍一些关键概念,如怎么配置Spring Web Flow输出的不同标准服务(Bean)和怎么定义页面流转(使用针对页面流转的Spring Web FlowDSL的XML版本)。

  在Spring MVC中配置DispatcherServlet

  应用的入口是一个标准的Spring MVC DispatcherServlet,它在web.xml中注册并在web application context中映射到*.htm。 

  sellitem 

  org.springframework.web.servlet.DispatcherServlet

  contextConfigLocation

  

  /WEB-INF/sellitem-servlet-config.xml

  /WEB-INF/sellitem-webflow-config.xml

  sellitem

  *.htm

  DispatcherServlet配置在Spring的配置文件sellitem-servlet-config.xml和sellitem-webflow-config.xml中。 sellitem-servlet-config.xml中有一个映射到"/pos.htm"的控制器,它将所有该URL的请求转发到Spring Web Flow系统(它的入口是一个流程执行器):

  配置flow executor和flow registry beans

  Spring flowExecutor bean配置使用一个flowRegistry bean来执行"/WEB-INF/flows/"目录中的基于XML的流转定义。

文章评论

共有 位CH网友发表了评论 查看完整内容