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