转载:http://hyamine.iteye.com/blog/397708

1. websphere工作管理器引用

WEB-INF/ibm-web-bnd.xmi

Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1237946146690" virtualHostName="default_host">
  3. <webapp href="WEB-INF/web.xml#WebApp_1237946146690"/>
  4. <resRefBindings xmi:id="ResourceRefBinding_1238122581560" jndiName="wm/default">
  5. <bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1238122581560"/>
  6. </resRefBindings>
  7. </webappbnd:WebAppBinding>

web.xml

Xml代码  
  1. <resource-ref id="ResourceRef_1238122581560">
  2. <res-ref-name>wm/default</res-ref-name>
  3. <res-type>commonj.work.WorkManager</res-type>
  4. <res-auth>Container</res-auth>
  5. <res-sharing-scope>Unshareable</res-sharing-scope>
  6. </resource-ref>

2. Spring配置

注意: 

  1. dataSource请不要使用Spring注入
  2. job bean需要实现Serializable接口以序列化
Xml代码  
  1. <!-- 定义调度器 -->
  2. <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  3. <property name="triggers">
  4. <list>
  5. <ref local="myStatefulJobBean"/>
  6. </list>
  7. </property>
  8. <!--注入事务管理器-->
  9. <property name="transactionManager" ref="transactionManager"/>
  10. <!-- 引用配置文件 -->
  11. <property name="configLocation" value="classpath:conf/quartz.properties"/>
  12. <!-- 应用WorkManager -->
  13. <property name="taskExecutor" ref="taskExecutor"></property>
  14. </bean>
  15. <!-- 定义事务引用 -->
  16. <bean id="transactionManager" class="org.springframework.transaction.jta.WebSphereUowTransactionManager"/>
  17. <!--配置使用IBM commonj WorkManager-->
  18. <bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
  19. <property name="workManagerName" value="wm/default"/>
  20. <property name="resourceRef" value="false"/>
  21. </bean>
  22. <!-- 声明有状态Job-->
  23. <bean id="myStatefulJobBean" class="org.springframework.scheduling.quartz.JobDetailBean">
  24. <property name="jobClass" value="com.test.quartz.MyStatefulJobBean"/>
  25. </bean>
  26. <!-- 简单触发器 -->
  27. <bean id="hibernateTestTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  28. <property name="jobDetail" ref="myStatefulJobBean"/>
  29. <property name="startDelay">
  30. <value>60000</value>
  31. </property>
  32. <property name="repeatInterval">
  33. <value>60000</value>
  34. </property>
  35. </bean>

job bean

Java代码  
  1. package com.test.quartz;
  2. import java.io.Serializable;
  3. import org.quartz.JobExecutionContext;
  4. import org.quartz.JobExecutionException;
  5. import org.quartz.SchedulerContext;
  6. import org.quartz.SchedulerException;
  7. import org.quartz.StatefulJob;
  8. import com.achievo.framework.workflow.HibernateSessionEnable;
  9. public class MyStatefulJobBean implements StatefulJob,Serializable{
  10. @HibernateSessionEnable
  11. public void execute(JobExecutionContext context) throws JobExecutionException {
  12. String triggerName = context.getTrigger().getName();
  13. String jobName = context.getJobDetail().getName();
  14. System.out.println("触发器"+triggerName+"触发作业"+jobName);
  15. }
  16. }

3. 配置quartz相关信息

配置JobStoreCMT 需要两个数据源: 容器管理的数据源 和 JDBC连接数据源

conf/quartz.properties
# Default Properties file for use by StdSchedulerFactory 
# to create a Quartz Scheduler Instance, if a different 
# properties file is not explicitly specified. 
#

org.quartz.scheduler.instanceName = MyClusteredScheduler 
org.quartz.scheduler.instanceId = AUTO 
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false 
#org.quartz.scheduler.userTransactionURL=jta/usertransaction

#org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool 
org.quartz.threadPool.class = org.springframework.scheduling.quartz.LocalTaskExecutorThreadPool 
#org.quartz.threadPool.threadCount = 10 
#org.quartz.threadPool.threadPriority = 5 
#org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

org.quartz.jobStore.misfireThreshold = 60000

#配置使用数据库存储调度信息 (JobStoreCMT 需要两个数据源) 
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreCMT 
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate 
org.quartz.jobStore.isClustered = true 
org.quartz.jobStore.clusterCheckinInterval = 20000 
org.quartz.jobStore.dataSource = wasDataSource 
org.quartz.jobStore.nonManagedTXDataSource = oracleDS 
org.quartz.jobStore.tablePrefix = QRTZ_

#配置容器管理的数据源 
org.quartz.dataSource.wasDataSource.jndiURL = java:comp/env/jdbc/oracleDataSource 
#org.quartz.dataSource.wasDataSource.java.naming.factory.initial= 
#org.quartz.dataSource.wasDataSource.java.naming.provider.url= 
#org.quartz.dataSource.wasDataSource.java.naming.security.principal= 
#org.quartz.dataSource.wasDataSource.java.naming.security.credentials=

#配置非容器管理的数据源(JDBC数据源) 
org.quartz.dataSource.oracleDS.driver = oracle.jdbc.driver.OracleDriver 
org.quartz.dataSource.oracleDS.URL = jdbc:oracle:thin:@10.244.150.20:1521:orcl 
org.quartz.dataSource.oracleDS.user = oracleuser 
org.quartz.dataSource.oracleDS.password = password 
org.quartz.dataSource.oracleDS.maxConnections = 5 
org.quartz.dataSource.oracleDS.validationQuery = select 0 from dual

4. 创建调度表

在quartz下载目录docs/dbTables 目录下有针对各种数据库的sql script文件

本文使用oracle,所以登录oracle sqlplus 执行 @quartz下载目录/docs/dbTables/tables_oracle.sql

WebSphere 集群环境下配置 Quartz集群相关推荐

  1. 在windows环境下配置mongoDB集群

    在windows环境下配置mongoDB集群 mongodb官网 官网分片文档 首先感谢这次参考的文章: mongodb搭建高可用分片集群示例-天才卧龙 MongoDB高可用集群搭建示例-lizh 配 ...

  2. Docker集群环境下安装Fastdfs集群+Nginx负载均衡

    一.环境配置 现有两台服务器10.168.103.110(旧服务器)和10.168.103.111(新服务器),其中110服务器上有swarm集群,一个tracker和一个storage,现在要做Fa ...

  3. quartz在集群环境下的最终解决方案

    在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB . 大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVI ...

  4. 集群环境下定时调度的解决方案之Quartz集群

    集群环境下定时调度的解决方案之Quartz集群 参考文章: (1)集群环境下定时调度的解决方案之Quartz集群 (2)https://www.cnblogs.com/yinfengjiujian/p ...

  5. 分布式集群环境下,如何实现session共享三(环境搭建)

    这是分布式集群环境下,如何实现session共享系列的第三篇.在上一篇:分布式集群环境下,如何实现session共享二(项目开发)中,准备好了一个通过原生态的servlet操作session的案例.本 ...

  6. Java技术分享:集群环境下的定时任务

    定时任务的实现方式有多种,例如JDK自带的Timer+TimerTask方式,Spring 3.0以后的调度任务(Scheduled Task),Quartz框架等. Timer+TimerTask是 ...

  7. 0110-如何给Kerberos环境下的CDH集群添加Gateway节点

    2019独角兽企业重金招聘Python工程师标准>>> Fayson的github: https://github.com/fayson/cdhproject 1.文档编写目的 Ga ...

  8. 在非容器(集群)环境下运行dapr

    作者:李俱顺 原文:https://www.4async.com/2021/03/2021-03-11-running-dapr-without-container/ 前一段时间一直关注的dapr正式 ...

  9. 集群环境下,你不得不注意的ASP.NET Core Data Protection 机制

    引言 最近线上环境遇到一个问题,就是ASP.NET Core Web应用在单个容器使用正常,扩展多个容器无法访问的问题.查看容器日志,发现以下异常: System.Security.Cryptogra ...

  10. Hadoop集群环境下网络架构的设计与优化

    2019独角兽企业重金招聘Python工程师标准>>> 大数据时代,研究大数据的IT 厂商把研究重心放在优化大数据系统软件架构.优化业务逻辑.优化数据分析算法.优化节点性能等方向,而 ...

最新文章

  1. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)
  2. 中职计算机应用基础每章知识点,[定稿]中职计算机应用基础教案_1-5章V3.1
  3. [转]实现Python HTTP服务方法大总结
  4. 计算机中数据表示与计算实验答案,实验二计算机中的数据表示与计算-20210622102303.pdf-原创力文档...
  5. 中国古代历朝首都一览
  6. SpringBoot自动装配源码解析
  7. NPOI之Excel——设置单元格背景色
  8. python编码示例_python urllib中的编码处理示例
  9. http://circles.arenaofthemes.com/
  10. 知识资产投资——《程序员修炼之道》的建议
  11. flex 颜色16进制对照表
  12. 【滤波器设计】基于matlab GUI窗函数法高通+低通+带通带阻FIR滤波器设计【含Matlab源码 072期】
  13. 基于C51控制蜂鸣器
  14. 增值税发票开票软件卷票打印错位配置修正指南
  15. 门店电子会员卡系统,积分储值卡金额会员卡功能,JavaScript 局部作用域
  16. php通过COM类调用组件
  17. 人工智能的学习路线规划
  18. 通达信指标公式编写答疑汇总(三)
  19. java套接字创建失败_Linux的文件描述符个数限制导致创建文件(或socket)失败的问题...
  20. 贝壳找房面试之c++基础问答

热门文章

  1. PHP中面向对象分析设计的经验总结
  2. POJ 1980【Unit Fraction Partition】
  3. [原创]java导出excel
  4. 如何调整iMindMap打印设置
  5. C++/CLI学习入门
  6. 学习wordpress模板制作第一天 函数bloginfo
  7. Mysql 如何做双机热备和负载均衡 (方法一)
  8. ggplot2:可视化设计师的神器,了解一下
  9. WordPress搬家教程:换空间与换域名
  10. python学习第二天标准输入输出和注释用法