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

1. websphere工作管理器引用

WEB-INF/ibm-web-bnd.xmi

  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

  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接口以序列化
  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

  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单机环境下配置tomcat集群

    场景:我们在平常联系中,需要涉及到tomcat中,但是电脑不够怎么办,肯定是在自己的电脑上模拟集群,就是装多个tomcat,这时候需要稍微配置下.如果是多个服务器,那不用配置,直接怼!!! 这里介绍的 ...

  2. 在Windows中单机环境下创建RabbitMQ集群

    本文根据:http://www.360doc.com/content/15/0312/17/20874412_454622619.shtml整理而来 RabbitMQ具有很好的消息传递性能,同时又是开 ...

  3. redis 与java的连接 和集群环境下Session管理

    redis 的安装与设置开机自启(https://www.cnblogs.com/zhulina-917/p/11746993.html)  第一步: a) 搭建环境 引入 jedis jar包 co ...

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

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

  5. 在Hadoop1.2.1分布式集群环境下安装hive0.12

    在Hadoop1.2.1分布式集群环境下安装hive0.12 ● 前言: 1. 大家最好通读一遍过后,在理解的基础上再按照步骤搭建. 2. 之前写过两篇<<在VMware下安装Ubuntu ...

  6. zookeeper集群环境安装配置

    众所周知,Zookeeper有三种不同的运行环境,包括:单机环境.集群环境和集群伪分布式环境 在此介绍的是集群环境的安装配置 一.下载: http://apache.fayea.com/zookeep ...

  7. Ubuntu14(64位) 集群环境下安装Hadoop2.4

    经过前边的积累,今天最终实现了集群环境下部署Hadoop.并成功执行了官方的样例. 工作例如以下: 两台机器: NameNode:上网小本,3G内存.机器名:YP-X100e,IP:192.168.1 ...

  8. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  9. weblogic 12C集群环境下的session复制

    做过weblogic集群环境的人应该都清楚,要想实现session同步,必须满足两个条件:第一,在weblogic.xml里面增加session同步相关的代码:第二,所有放入session的类都要序列 ...

随机推荐

  1. 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray

    昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...

  2. mysql连接超时

    这几天在跟踪一个项目的时候,老是发现mysql连接报timeout的异常. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException ...

  3. over-fitting、under-fitting 与 regularization

    机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型,对于训练好的模型,若在训练集表现差,不必说在测试集表现同样会很差,这可能是欠拟合导致:若模型在训练集表现非常好,却在测试集上差强 ...

  4. Eclipse实用快捷键

    经典常用快捷键1. [ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ALT+/]快捷键带来的好处吧. 2. ...

  5. MySQL常用的操作整理

    MySQL是一个十分轻便的dbms,轻便.灵活,更适用于中小型数据的存储与架构.MySQL被数以万计的网站采用,从5版本以后,陆续支持了游标.触发器.事务.存储过程等高级应用,这也给MySQL的易用性 ...

  6. JVM——类加载机制

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 在Java语言中,类型的加载.连接和初始化过 ...

  7. 查一下 excel中某一列是否有重复

    另一列中写入 =IF(COUNTIF(C:C,C1)>1,"有重复","") 其余往下拖拉公式 我在想如果可以有不往下拖的呢? 不过好像筛选中也有类似的选 ...

  8. Android中弹出输入法界面不影响app界面布局

    默认情况下,输入法弹出的时候,原来的view会被挤扁.有些应用不想被挤,它们可以接受被输入法view覆盖在上面.这时候需要在AndroidManifest.xml acitivty里面加上一句: an ...

  9. nginx 的模块及处理流程

         nginx的内部结构是由核心部分和一系列的功能模块所组成.这样划分是为了使得每个模块的功能相对简单,便于开发,同时也便于对系统进行功能扩展.这样的模块化设计类似于面向对象中的接口类,它增强了 ...

  10. linux grub

    grub 是目前使用最广泛的linux引导装载程序,旧的lilo这个引导装载程序很少见了,grub优点: 支持较多哦的文件系统,可以使用grub主程序在文件系统中查找内核文件名 启动的时候,可以自行编 ...