当前位置: 首页 > news >正文

福鼎网站建设做外贸建网站需要多少钱

福鼎网站建设,做外贸建网站需要多少钱,wordpress首页在哪,房屋模拟装修软件尽管在官方文档中进行了简要描述#xff0c;但我相信Quartz插件了解得还不够多#xff0c;看看它们有多有用。 本质上#xff0c;Quartz中的插件是方便的类#xff0c;用于包装基础侦听器的注册。 您可以自由编写自己的插件#xff0c;但我们将专注于Quartz随附的现有插件… 尽管在官方文档中进行了简要描述但我相信Quartz插件了解得还不够多看看它们有多有用。 本质上Quartz中的插件是方便的类用于包装基础侦听器的注册。 您可以自由编写自己的插件但我们将专注于Quartz随附的现有插件。 LoggingTriggerHistoryPlugin 首先介绍一些背景。 Quartz中的两个主要抽象是作业和触发器。 Job是我们要计划的一段代码。 触发器指示调度程序何时应运行此代码。 CRON例如每个星期五在9 AM到5 PM之间运行直到11月和简单的每2小时运行100次触发器是最常用的。 您可以将任意数量的触发器关联到一个作业。 信不信由你Quartz默认不提供任何日志记录或监视任何已执行的作业和触发器。 有一个API但是没有实现内置的日志记录。 它不会向您显示由于触发触发器而现在可以执行此特定作业。 因此您应该做的第一件事是将以下几行添加到quartz.properties中 org.quartz.plugin.triggerHistory.classorg.quartz.plugins.history.LoggingTriggerHistoryPluginorg.quartz.plugin.triggerHistory.triggerFiredMessageTrigger [{1}.{0}] fired job [{6}.{5}] scheduled at: {2, date, dd-MM-yyyy HH:mm:ss.SSS}, next scheduled at: {3, date, dd-MM-yyyy HH:mm:ss.SSS}org.quartz.plugin.triggerHistory.triggerCompleteMessageTrigger [{1}.{0}] completed firing job [{6}.{5}] with resulting trigger instruction code: {9}. Next scheduled at: {3, date, dd-MM-yyyy HH:mm:ss.SSS}org.quartz.plugin.triggerHistory.triggerMisfiredMessageTrigger [{1}.{0}] misfired job [{6}.{5}]. Should have fired at: {3, date, dd-MM-yyyy HH:mm:ss.SSS} 第一行也是唯一需要的行将加载插件类LoggingTriggerHistoryPlugin。 其余各行将配置插件自定义日志消息。 我发现内置默认值不是很周全例如它们显示当前时间这已经是日志框架消息的一部分。 您可以自由构造任何日志消息有关详细信息请参阅API。 添加这些额外的几行使调试和监视更加容易 LoggingTriggerHistoryPlugin | Trigger [Demo.Every-few-seconds] fired job [Demo.Print-message] scheduled at: 04-04-2012 23:23:47.036, next scheduled at: 04-04-2012 23:23:51.036 //...job output LoggingTriggerHistoryPlugin | Trigger [Demo.Every-few-seconds] completed firing job [Demo.Print-message] with resulting trigger instruction code: DO NOTHING. Next scheduled at: 04-04-2012 23:23:51.036 现在您知道为什么命名触发器Demo.Every-few-seconds和作业Demo.Print-message如此重要。 LoggingJobHistoryPlugin 还有另一个与日志记录相关的便捷插件 org.quartz.plugin.jobHistory.classorg.quartz.plugins.history.LoggingJobHistoryPlugin org.quartz.plugin.jobHistory.jobToBeFiredMessageJob [{1}.{0}] to be fired by trigger [{4}.{3}], re-fire: {7} org.quartz.plugin.jobHistory.jobSuccessMessageJob [{1}.{0}] execution complete and reports: {8} org.quartz.plugin.jobHistory.jobFailedMessageJob [{1}.{0}] execution failed with exception: {8} org.quartz.plugin.jobHistory.jobWasVetoedMessageJob [{1}.{0}] was vetoed. It was to be fired by trigger [{4}.{3}] at: {2, date, dd-MM-yyyy HH:mm:ss.SSS} 规则是相同的–插件额外配置。 有关详细信息和可能的占位符请参见LoggingJobHistoryPlugin的JavaDoc 。 快速查看日志可以发现非常具有描述性的输出 Trigger [Demo.Every-few-seconds] fired job [Demo.Print-message] scheduled at: 04-04-2012 23:34:53.739, next scheduled at: 04-04-2012 23:34:57.739 Job [Demo.Print-message] to be fired by trigger [Demo.Every-few-seconds], re-fire: 0 //...job output Job [Demo.Print-message] execution complete and reports: null Trigger [Demo.Every-few-seconds] completed firing job [Demo.Print-message] with resulting trigger instruction code: DO NOTHING. Next scheduled at: 04-04-2012 23:34:57.739 我不知道为什么默认情况下不启用这些插件。 毕竟如果您不需要这样的详细输出则可以在日志记录框架中将其关闭。 没关系我认为在对Quartz执行进行故障排除时将它们安装到位是个好主意。 XMLSchedulingDataProcessorPlugin 这是一个非常全面的插件。 它读取包含作业的XML文件默认名称为quartz_data.xml并触发定义并将其添加到调度程序中。 当您有一次需要添加一次的全局作业时此功能特别有用。 插件可以更新现有的作业/触发器也可以忽略XML文件如果它们已经存在–在使用JDBCJobStore时非常有用。 org.quartz.plugin.xmlScheduling.classorg.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin 在上述文章中我们一直在手动将作业添加到调度程序中 val trigger newTrigger().withIdentity(Every-few-seconds, Demo).withSchedule(simpleSchedule().withIntervalInSeconds(4).repeatForever()).build()val job newJob(classOf[PrintMessageJob]).withIdentity(Print-message, Demo).usingJobData(msg, Hello, world!).build()scheduler.scheduleJob(job, trigger) 使用XML配置可以实现相同的效果只需将以下quartz_data.xml放在CLASSPATH中 ?xml version1.0 encodingUTF-8? job-scheduling-data xmlnshttp://www.quartz-scheduler.org/xml/JobSchedulingDataxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocation http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd processing-directivesoverwrite-existing-datafalse/overwrite-existing-dataignore-duplicatestrue/ignore-duplicates/processing-directivesscheduletriggersimplenameEvery-few-seconds/namegroupDemo/groupjob-namePrint-message/job-namejob-groupDemo/job-grouprepeat-count-1/repeat-countrepeat-interval4000/repeat-interval/simple/triggerjobnamePrint-message/namegroupDemo/groupjob-classcom.blogspot.nurkiewicz.quartz.demo.PrintMessageJob/job-classjob-data-mapentrykeymsg/keyvalueHello, World!/value/entry/job-data-map/job/schedule/job-scheduling-data 使用XML配置可以实现相同的效果只需将以下quartz_data.xml放在CLASSPATH中 org.quartz.plugin.xmlScheduling.fileNames/etc/quartz/system-jobs.xml,/home/johnny/my-jobs.xml org.quartz.plugin.xmlScheduling.scanInterval60 关机钩子插件 最后但并非最不重要的是ShutdownHookPlugin。 小型但可能有用的插件可以在JVM中注册关闭钩子以便轻轻地停止调度程序。 但是我建议关闭cleanShutdown –如果系统已经试图突然停止应用程序通常是Spring通过SchedulerFactoryBean通过SchedulerFactoryBean调用调度程序关闭或用户按下Ctrl C –等待当前正在运行的作业似乎是个坏主意。 毕竟也许由于某些作业运行时间过长/过长而导致我们正在终止应用程序 org.quartz.plugin.shutdownHook.classorg.quartz.plugins.management.ShutdownHookPlugin org.quartz.plugin.shutdownHook.cleanShutdownfalse 如您所见Qurtz附带了一些非常有趣的插件。 由于某些原因它们在官方文档中没有详细描述但是它们工作得很好并且是调度程序的重要补充。 带有已应用插件的源代码可在GitHub上获得。 参考 Quartz Scheduler插件– Java和社区博客上来自JCG合作伙伴 Tomasz Nurkiewicz的隐藏宝藏 。 翻译自: https://www.javacodegeeks.com/2012/04/quartz-scheduler-plugins-hidden.html
http://www.pierceye.com/news/819277/

相关文章:

  • 网络营销好找工作吗成都seo优化公司排名
  • 网站换关键词山西网站备案
  • 网站微信建设运维经验深圳罗湖企业网站
  • 国外设计类网站泰安网网站建设
  • 做暖暖小视频网站手机 dns 国外网站
  • 子网站建设工作网站 首页布局 seo
  • 网站域名是什么传奇辅助网站怎么做
  • 在那个上面做网站都能搜到新乡网站建设设计
  • 网站编辑 seo是什么 百度知道本地网站搭建流程
  • 用凡科做网站好吗搜索自媒体平台
  • 学设计的网站有哪些内容免费设计图片软件
  • 柳州建站公司404错误直接转向到网站首页
  • 字画网站建设iis怎么查看网站的域名
  • 公司门户网站建设特点新增专业建设规划
  • 备案号怎么放置到网站长春如何建立一个平台网站
  • 企业网站的一般要素包括厂房设计
  • 郑州做网站 汉狮网络深圳市中心是哪个区
  • jsp做的婚恋网站做死活题网站
  • 帮做网站的公司荥阳网站优化公司
  • 网页设计心得体会正文合肥网站推广优化公司
  • 邯郸菜鸟网站建设网站搭建费用价格表
  • 网站优化3个关键词和10个关键词的区别品牌推广方式有哪些
  • 建立网站需要多少钱一个二手站网站怎做
  • 瑞丽住建局网站科技新闻最新消息10条
  • 可以上传网站的免费空间网站注册都需要什么
  • wap网站开发重庆永川网站建设公司
  • 网站历史记录怎么恢复seo网站优化软件
  • 四川瑞通工程建设有限公司网站贵州省网站建设
  • 购买网站设计制作易龙天做的网站怎么样
  • 十大免费网站推广入口无锡网站建设首选捷搜