首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立于线程Id的HK2操作

独立于线程Id的HK2操作
EN

Stack Overflow用户
提问于 2020-08-31 08:50:52
回答 1查看 61关注 0票数 1

我使用HK2 运营来管理Java应用程序中的自定义作用域,该应用程序包含一个REST服务器组件。其余部分由泽西岛提供。

泽西允许资源返回一个(可能运行缓慢或长期运行) StreamingOutput,而不是一个离散实体。据我所知,这提供了一种处理较低层的异步行为形式。我观察到的是,当流输出正在运行时,处理初始泽西请求的线程再次可以自由地处理新泽西请求,这需要它们自己的作用域。

HK2说:

HK2操作为构建作用域/上下文对提供了一组方便的工具,这些工具遵循“一次对一个线程进行一次操作”的一般规则。

不幸的是,这就是它碰撞的地方。当传入请求被路由到已经/仍在向其他地方提供StreamingOutput服务的同一个线程时,无法启动该操作:

代码语言:javascript
复制
java.lang.IllegalStateException: The operation OperationHandleImpl(OperationIdentifier(326193,my.TransactionScope),254339200) is active on 62

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-14 19:20:29

操作是gr8,但必须遵循“单线程实时操作”的规则。

其实只有两件事可做。

  1. 请Eclipse提供一个扩展操作操作的特性
  2. 可以使用操作api本身来检测一个操作是否正在运行.如果是..。相反,分叉一个不同的线程,并继续您的操作在那里(完全黑客,但.可能会起作用)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63667660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档