阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

了解 Seam 的嵌套对话和超时

  • 2008-01-17
  • 本文字数:812 字

    阅读完需:约 3 分钟

对 Web 应用开发人员来说,状态管理一直是一个挑战。对话应该在应用层而不是请求层来处理交互。Jacob Orshalick 以 Seam 的酒店预订示例应用为例,论述了 Seam 的对话模型,并解释了如何将嵌套对话运用于该示例。

Seam 的对话模型提供了一个简化方法来处理 continuations。如果你熟悉 continuation server 的概念,你就知道它们提供了包括无缝后退按钮处理和自动状态管理在内的功能。一个用户会话有很多 continuations,它们是执行过程中简单的状态快照,可在任何时候恢复。如果你对这个概念不熟悉,别担心,Seam 使其变得很简单。

这只是模型的一部分,Seam 还允许对话的嵌套:

嵌套对话提供了一个状态容器,它堆叠在最早的对话或外部对话的状态容器之上。任何在嵌套对话状态容器中设置的对象,都不影响可从父对话状态容器中访问的对象。这就允许每个嵌套对话能保持其自己独有的状态。

Orshalick 从定义嵌套对话到确保它被妥善地清空一路演示下来。他用 JBoss Developer Studio 来扩展 Seam 的酒店预订示例应用,生动地完成了嵌套对话的讲解。

Jacob Orshalick 不止澄清了嵌套对话,他还讨论了对话超时的话题:

对话超时似乎是一个普遍被误解的 Seam 概念。在 Seam 论坛上,我常常看见一些帖子宣称对话超时不起作用。实际上它工作得很正常,只不过你必须去理解它的语义。

Orshalick 用与嵌套对话相同的例子说明了,在处理多对话时,只有后台对话会受到对话超时的影响。照这样来说,只有会话本身超时时,前台对话才会超时。

Orshalick 最后总结到:

通过其简单的对话模型,Seam 提供了一个非常有吸引力的方法来管理状态。过去开发人员艰难处理的复杂问题,包括多窗口操作和后退按钮处理,都能处理得天衣无缝了。

查看英文原文 Understanding Seam Nested Conversations and Timeouts - - - - - -

译者简介: 王丽娟(Ivy Wang),一个快乐的程序员,持续从事 Java EE 中间件和 Java EE 企业应用的开发,关注软件架构技术。职业目标是成长为一名优秀的架构师。

2008-01-17 21:48825
用户头像

发布了 151 篇内容, 共 60.1 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

2023年新疆等级保护测评机构新名单看这里!

行云管家

等保 新疆 等级测评机构

ByteHouse MaterializedMySQL增强优化

字节跳动数据平台

数据库 云原生 Clickhouse 企业号 3 月 PK 榜

H2存储内核分析一

陈飞

分布式数据库 大数据 开源 数据库内核

实用fcpx视频剪辑:Final Cut Pro 中文版

真大的脸盆

Mac Mac 软件 FCPX软件 fcpx

Android系统服务DropBoxManagerService详解与实践应用

vivo互联网技术

文件管理 Dropbox 文件上报

meta魔豹联盟系统开发源码(Demo)技术成熟

I8O28578624

分享:FactorJoin,一种新的连接查询基数估计框架

Java你猿哥

数据库 ssm

从智慧园区、智慧金融到智能制造,我们在华为云上实现了降本增效

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 3 月 PK 榜

深度解析微服务高并发:适配SpringMVC框架适配模块及实现原理

Java你猿哥

Java spring ssm Spring MVC Java工程师

量化合约技术系统开发(源码搭建)合约量化技术开发(Demo)

I8O28578624

阿里高工珍藏版“亿级高并发系统设计手册(2023版)”面面俱到,太全了!

采菊东篱下

Java 并发

硬核!阿里P8自爆春招面试核心手册,Github上获赞65.7K

Java你猿哥

Java 面试 面经 八股文 春招‘

SpringBoot整合RocketMQ,尝尝几大高级特性!

Java你猿哥

RocketMQ Spring Boot 后端 ssm Java工程师

草图大师;SketchUp Pro 2022 mac中英双语

真大的脸盆

Mac 3D 建模软件 建模工具 3d建模

从0到1:学员课时预约与扣课小程序开发笔记

CC同学

智能选路系统与架构

阿里云视频云

云计算 智能选路

定档3月31日,博睿数据受邀参加DAMS数据智能管理峰会

博睿数据

智能运维 博睿数据 One 一体化智能可观测

从入门到精通:C++ 学习路线指南,附详细学习计划

小万哥

c++ 程序员 后端 开发 学习路线

火山引擎DataTester:构建增长闭环,3-5人即可搭建企业增长团队

字节跳动数据平台

AB testing实战 A/B测试 企业号 3 月 PK 榜

修复“现在无法将USB设备连接到虚拟机,稍后尝试连接此USB设备 ”的方法

魔仙苹果mac堡

usb pd18虚拟机 PD虚拟机不能联网

用OceanBase试了一下ChatGPT开源文档问答助手

OceanBase 数据库

数据库 oceanbase

常见七大SMD器件布局基本要求,你掌握了几点?

华秋PCB

元器件 PCB PCB布局 布局 PCB设计

RabbitMQ、RocketMQ、Kafka性能为何差距如此之大?

Java你猿哥

kafka RocketMQ RabbitMQ

让GitHub低头认错的这份阿里内部绝密Java面试八股文手册有多强?

Java你猿哥

面试 ssm 面经 八股文 Java八股文

ODC,是另一个 Navicat 吗?

OceanBase 数据库

数据库 oceanbase

瓴羊Quick BI、Qlik服务企业,助力企业数据智能化管理

对不起该用户已成仙‖

马蹄链DAPP合约项目系统开发技术方案(成熟技术)

I8O28578624

成长计划知识赋能 | 第九期:渐进式深入理解OpenHarmony系统

OpenHarmony开发者

OpenHarmony

过等保堡垒机选择云堡垒机可以吗?有推荐的吗?

行云管家

等保 等级保护 行云管家 过等保

LED灯珠对LED显示屏8大影响

Dylan

LED显示屏 led显示屏厂家 户内led显示屏

焱融科技助力海尔集团上云 加速“智能制造”进程

焱融科技

文件存储 分布式存储 容器存储 分布式文件存储 #高性能

了解Seam的嵌套对话和超时_Java_Bryan Clauser_InfoQ精选文章