小编Rus*_*uss的帖子

如何创建非基于线程的Guice自定义范围?

似乎所有Guice的开箱即用的Scope实现本质上都是基于线程的(或完全忽略线程):

Scopes.SINGLETONScopes.NO_SCOPE忽略线程并且是边缘情况:全局范围而不是范围.

ServletScopes.REQUESTServletScopes.SESSION最终依赖于从a中检索范围对象ThreadLocal<Context>.检索Context到的HttpServletRequest对包含对包含存储为命名属性的范围对象的引用的引用(其中name是从中派生的com.google.inject.Key).

SimpleScope来自自定义范围的类Guice wiki还使用ThreadLocal<Map<Key<?>, Object>>成员变量提供每线程实现.

有了这个序言,我的问题是:如何创建一个非基于线程的范围?似乎我可以用来查找a Map<Key<?>, Object>的东西丢失了,因为传入的唯一内容Scope.scope()是a Key<T>和a Provider<T>.

在此先感谢您的时间.

scope guice

4
推荐指数
1
解决办法
1258
查看次数

标签 统计

guice ×1

scope ×1