首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat集群6和ContextListener

Tomcat集群6和ContextListener
EN

Stack Overflow用户
提问于 2012-06-29 07:53:42
回答 1查看 158关注 0票数 0

在Tomcat的单个实例上,我有一个线程,该线程是在上下文初始化时启动的。就像这样:

代码语言:javascript
复制
public class MyContextListener implements ServletContextListener {
private MyThread thread = null;

@Override
public void contextInitialized(ServletContextEvent sce) {
    //Start thread...
}

@Override
public void contextDestroyed(ServletContextEvent sce) {
    //Stop thread...
}
}

这个线程每10分钟在系统中执行一些重要的任务,并且工作正常。

现在,我切换到了tomcat实例集群,这个线程运行在两个实例上。我在努力实现不同的行为。

我想要达到的目标是:

  • 这个线程应该只在一个实例上运行。
  • 如果第一个实例失败(在其中运行线程),则应该在第二个实例上启动线程。

如有任何提示,我将不胜感激。

我的应用程序逻辑是什么?

由线程执行的应用程序逻辑如下:

  1. 读DB的某事物。
  2. 分析数据库信息。
  3. 如果需要,对外部系统执行HTTP请求。
  4. 再睡10分钟。

关键是:如果我有两个tomcat实例,那么只有一个应该执行这个逻辑。

EN

回答 1

Stack Overflow用户

发布于 2012-06-29 09:50:11

如果我正确理解的话,当您使用web应用程序服务器时,不允许您在应用程序中启动一个新线程。所有线程必须由应用服务器管理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11258072

复制
相关文章

相似问题

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