0

我继承了一些需要 TLC 的遗留 Business Objects 代码。代码是一个 Servlet。为进入 Servlet 的每个新请求创建一个新的 IEnterpriseSession。我最初担心的是,为每个请求创建一个新的 IEnterpriseSession 似乎很浪费,并且会导致请求缓慢。请注意,这是一个管理员 IEnterpriseSession,它反复用于管理目的。

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

4

1 回答 1

1

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

于 2015-04-08T13:53:41.383 回答