我实现了SingletonService
接口,该接口位于weblogic API中。此接口确保实现此接口的类仅在一个受管服务器上运行。在我的例子中,我在activate()
实现类的SingletonService
方法中有两个线程。迁移中的singletonService
但是线程在该服务器上正在运行,它会在我的数据库中重复输入。
当我在weblogic
上执行kill并重启时,直到某个时间线程在服务器上运行并且在一台服务器上运行一段时间。
答案 0 :(得分:0)
解决此问题非常简单。我来了解如何阻止线程。
当SingletonService
停用时,我使用相同的逻辑来停止执行。
在deactivate()
中,我们添加了停止线程的逻辑。我们添加了简单的标志,它将有助于打破线程的执行。
示例代码
public void deactivate(){
// take reference of thread and break the execution of thread
// call thread.interrupt();
}
这是我用来解决问题的简单技巧。