`
cloudmail
  • 浏览: 267612 次
  • 来自: 广州
社区版块
存档分类
最新评论

linux下Quartz被调度2次问题

 
阅读更多

最近写了一些定时任务,由于任务比较多,采用了Quartz来实现,但是在windows环境下测试的时候一切正常,但是放到linux服务器上的时候就出现了2次任务调度的情况,一个任务被执行了2次,无赖中的时候在javaeye上居然发现了解决方案:http://www.javaeye.com/post/575262?page=1

当我们吧项目发布到tomcat下的时候,windows下的tomcat的config下的service.xml文件中有段内容如下:

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"></Host>

但是在linux下则不同

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
         <Context path="" docBase="object1" /></Host>

解决方案是:把linux 下的appBase="webapps"修改为appBase=""

多出了一行 <Context path="" docBase="you object name" />,这两段的区别是第二段去除了appBase="webapps"中的webapps变成了appBase="",因为web应用程序都是放在webapps这个目录下的,如果不把“webapps“去掉,这里会调用一次quartz的任务调度,在接下来的“<Context path”中又会调用一次quartz的任务调度,所以就重复了2次

通过以上修改后变成:

<Host name="localhost" appBase=""
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
         <Context path="" docBase="webapps/object1" /></Host>

这个时候tomcat默认路径http://localhost:8080/默认访问object工程,但是这个时候系统启动报错说找不到manmager和host-manager文件。于是有修改为以下2个Host:

<Host name="127.0.0.1" appBase=""
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

<!--这个可以加访问路径别名/域名或本机IP-->

       <Alias>www.aaa.com</Alias>

        <Alias>www.bbb.com</Alias>

        <Alias>192.16.18.23</Alias>


         <Context path="" docBase="webapps/object1" />

<!--如果有多个工程可以加这里-->

         <Context path="/object2" docBase="webapps/object2" />

         <Context path="/object3" docBase="webapps/object3" />

</Host>

<Host name="localhost" appBase="server/webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"></Host>

但是会这样后我们的tomcat管理页面又无法登陆了。并且访问工程要通过127.0.0.1访问。localhost将无法访问。

----------------------------------------------------------------------------------------------------------------------------------

刚刚解压版的Tomcat5.0.12,启动setup.bat后,通过浏览器访问:http://127.0.0.1:8080/admin

 

后续继续测试更新中……

 

在登录界面输入用户名 both 和密码 tomcat 后出现下面的错误提示:

HTTP Status 403 - Access to the requested resource has been denied

 

问题原因:

D:\Tomcat5.0\conf 目录下的

tomcat-users.xml 文件内容如下:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
   <role rolename="tomcat"/>
   <role rolename="role1"/>
   <user username="tomcat" password="tomcat" roles="tomcat"/>
   <user username="role1" password="tomcat" roles="role1"/>
   <user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>

问题修改:将tomcat-users.xml 文件内容改为

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
   <role rolename="tomcat"/>
   <role rolename="role1"/>
   <role rolename="manager"/>
   <role rolename="admin"/>

   <user username="admin" password="admin" roles="admin,manager"/>
   <user username="tomcat" password="tomcat" roles="tomcat"/>
   <user username="role1" password="tomcat" roles="role1"/>
   <user username="both" password="tomcat" roles="tomcat,role1"/> 
</tomcat-users>

重新启动Tomcat ,在登录时使用 用户名admin 密码 admin 登录即可。

分享到:
评论

相关推荐

    quartz作业调度

    一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。版本1.5.2,内附中文帮助文档

    quartz-2.2.3.jar

    相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。把一系列任务自动安置到一个作业中,然后再为这个作业创建一个调度器,到时这个作业就会自动执行了

    Quartz_Job+Scheduling_Framework

    任务、 Unix/Linux 下的 Cron ,但 Quartz 可以把排程控制的更精细。也许大多数人听说 Quartz 是在学习或使用 Spring 的时 候,也就是 Spring 整合了 Quartz。而我也不例外,同样是在春天里得悉了这块石英。 当初...

    quartz-1.6.2.zip

    quartz-1.6.2最新包,Quartz 是什么,大概不需多加说明,简单讲就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。

    Quartz Job Scheduling Framework 中文版

    Quartz 是什么,大概不需多加说明,简单讲就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。也许大多数人听说 Quartz 是...

    毕设&课设&项目&实训-基于 ADF + Quartz 搭建的可视化作业调度应用.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发...有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。

    helloJob:调度系统你好工作

    目前发展中国家有足够的调度系统,例如oozie(太难用),xxl-job(太重量),气流(python写的,依赖linux的crontab,只能够部署在linux)上,你好工作致力于打造一个轻量级的,简单好用的跨平台调度系统,希望可以...

    毕设&课设&项目&实训-基于Asp.Net Core 5.0采用Quartz.Net编写的开源任务调度Web管理平台.zip

    有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 ————————————————————————————————————— 竞赛资料源码- ...

    Python任务调度利器之APScheduler详解

    总结下任务调度应用场景: 离线作业调度:按时间粒度执行某项任务 共享缓存更新:定时刷新缓存,如redis缓存;不同进程间的共享数据 任务调度工具 linux的crontab, 支持按照分钟/小时/天/月/周粒度,执行任务 ...

    集成了Spring batch 提供批处理能力的管理系统。.zip

    Spring Batch Admin 是一个后端采用spring boot 2, spring security , oauth2, Spring data jpa 作为基础框架,集成了quartz 提供调度能力,集成了Spring batch 提供批处理能力的管理系统。系统旨… 各领域数据集,...

    SpringBoot + Mysql 博客管理系统【前端+后台】.rar

    * 任务调度:`quartz 2.3` * 持久层框架:`MyBatis 3` &lt;a href="http://baomidou.oschina.io/mybatis-plus-doc/#/" target="_blank"&gt;mybatisplus&lt;/a&gt; 2.1.4 * 数据库连接池:`Alibaba Druid 1.0.2` * 日志管理:`...

    B站 (锋迷商城) 学习资料

    采用当下最主流的微服务分布式架构,前后端分离技术,涵盖技术栈有:Vue、axios、Springboot、RESTful、mybatis、tkmapper、Swagger、任务调度Quartz/Elastic-Job、阿里云OSS、Linux、Nginx负载均衡、反向代理、CDN...

    matlab最简单的代码-TimeSystem:定时执行系统

    非常容易控制的任务调度系统 特性 兼容性好,需要定时的任务只依赖于控制台命令,能在命令行中执行的程序都可以执行。意味着可以定时执行包括exe在内的,python,nodejs,甚至matlab等程序 扩展性强,目前可以直接...

    开源中国源码

    ## Linux下启动 - `cd /root/webapp/solr` - `./bin/solr start -p 8983 -force` 回车,等待启动成功 - `./bin/solr stop -p 8983 -force` 这个是停止solr命令 - 创建数据库pybbs, 字符集utf8,如果想支持emoji,...

    javasnmp源码-pigeon:一个名为pigeon的项目,基于springhoot

    支持的设备:主机设备(Linux,Windows),中间件(Tomcat),增加ing... 探针监控设备基本性能(Netty4)。 功能相关 Quartz 任务调度(已实现北京联通双签和全民K歌鲜花签到) 北京公交查询 Freemarker 实现邮件...

    J2eeFAST企业级快速开发平台-其他

    Quartz数据库连接池:Druid 1.10.1数据库: Mysql5.7分布式缓存数据库: Redis 4.0.9工具类:Hutool 4.5.8工作流引擎:flowable 6.4.2J2eeFAST安装教程:1、需要准备环境Mysql5.7以上、JDK1.8、Maven3.3、Redis4.X以上...

    单点登录源码

    通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 &gt; zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...

Global site tag (gtag.js) - Google Analytics