如何在light-4j处理程序中共享一个非线程安全的util对象

时间:2018-04-06 02:59:58

标签: thread-local non-thread-safe light-4j

我已经从openapi yaml文件生成代码。我正在实现handleRequest方法。我需要共享“Util”对象的相同实例,以便在所有handleRequest调用中重用它。你能告诉我在哪里存放我的Util对象实例吗? 我的Util类不是线程安全的,所以每个客户端线程都应该有一个实例。

1 个答案:

答案 0 :(得分:0)

如果您的课程是线程安全的,那么最好的地方是https://www.networknt.com/concern/service/

如果对象不是线程安全的,那么使用ThreadLocal为每个线程保存一个对象。这意味着当请求从IO线程调度到工作线程时,一个请求可能正在调用两个或更多个util对象实例。

如果它实际上是一个util对象,你可以使它无状态,以便它是线程安全的吗?如果你确实需要,可以为状态添加一个额外的上下文类型对象。将附件作为附件附加到交易所可以正常工作。