java - BusinessObject 的 IEnterpriseSession 可以像数据库连接一样被缓存吗?

标签 java servlets business-objects business-objects-sdk

我继承了一些需要一些 TLC 的旧版 Business Objects 代码。该代码是一个 Servlet。为 Servlet 中的每个新请求创建一个新的 IEnterpriseSession。我最初担心的是,为每个请求创建一个新的 IEnterpriseSession 似乎很浪费并导致请求缓慢。请注意,这是一个管理 IEnterpriseSession,它一次又一次地用于管理目的。

所以我的问题是,在 Servlet 的 init() 过程中创建其中一个并在服务器启动期间一遍又一遍地使用它是否可以?它可以跨线程共享还是必须是ThreadLocal?如果 session 变得陈旧,是否会引发已知的超时异常?

最佳答案

IEnterpriseSession 可以被缓存和重用。 Business Objects 的 CMC 内部有一个可以结束 session 的超时设置,因此如果要进行缓存,请在使用 session 之前注意 session 本身是否有效。 session 本身是对 Business Objects 系统的实际登录,因此每个用户应该是唯一的。

关于java - BusinessObject 的 IEnterpriseSession 可以像数据库连接一样被缓存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29499842/

相关文章:

java - 从 Filter 中的 ServletRequest 获取 session 时出现问题

java - 无法在 JSP 内迭代列表

jquery - 从 servlet 返回 JSON

c# - 可扩展的业务逻辑规则

design-patterns - 什么定义了业务对象

enterprise-architect - 这个符号在 Sparx Enterprise Architect 中意味着什么

java - 将 AWT 图像转换为 SVG 图像

java - Liberty Java Runtime - Websphere 版本变更管理

java - Spring 的长耳大野兔观察

java - 如何在 EclipseLink 中创建 JAXBContext?