写点什么

了解 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:481355
用户头像

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

关注

评论

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

业内首份!工业领域数据安全政策汇编发布(附下载)

极盾科技

数据安全

云电脑架构设计的层次

天翼云开发者社区

云计算 云电脑架构

Python多进程处理的高级应用场景

技术冰糖葫芦

API 接口

为什么有些程序员敲代码这么慢?

秃头小帅oi

OpenHarmony打造下一代智能终端操作系统根社区,繁茂人才生态

新消费日报

边缘计算系统设计与实践

不在线第一只蜗牛

边缘计算 系统框架

区块链加持卡奥斯天彩抽奖平台,现邀您免费抽奖!海量奖品等你薅

Openlab_cosmoplat

抽奖

软件测试/人工智能丨常见的计算机视觉的业务场景有哪些?

测试人

人工智能 软件测试

详细解释云平台的可扩展性和灵活性

天翼云开发者社区

云计算 云平台

统一门户开发框架之:小程序技术高效引入第三方生态

Speedoooo

统一门户 小程序技术 统一门户技术架构

Android开发中如何进行单元测试?

树上有只程序猿

android 单元测试

软件测试/人工智能丨如何使用知识图谱实现精准测试效果

测试人

人工智能 软件测试

11月 Web3 游戏行业概览:市场回暖,未来趋势

Footprint Analytics

区块链游戏 gamefi web3游戏

云电脑:DPU简介及分析

天翼云开发者社区

云计算 云电脑

软件测试/人工智能丨知识图谱与模型驱动测试介绍及应用领域概述

测试人

人工智能 软件测试

ETLCloud的应用策略——实时数据处理是关键

谷云科技RestCloud

ETL 实时数据

1688订单详情API介绍(item_get-获得1688商品详情)

技术冰糖葫芦

API 接口

探索绿色之道:英特尔助力联想打造零碳智造工厂

E科讯

一文掌握Ascend C孪生调试

华为云开发者联盟

人工智能 华为云 昇腾CANN 华为云开发者联盟 孪生调试

数字化转型对企业有什么好处?

天津汇柏科技有限公司

数字化转型

Java多线程系列6:管程

BigBang!

Java多线程

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