optaplanner之ProjectJobScheduling-mian主文件详解

OptaPlanner -main文件详解

java目录

app-ProjectJobSchedulingApp.java文件

路径:org.optaplanner.examples.projectjobscheduling.app
导入包(父类)
(1)org.optaplanner.examples.common.app.CommonApp
(2)org.optaplanner.examples.common.persistence.AbstractSolutionImporter
(3)org.optaplanner.examples.projectjobscheduling.domain.Schedule
(4)org.optaplanner.examples.projectjobscheduling.persistence.ProjectJobSchedulingImporter
(5)org.optaplanner.examples.projectjobscheduling.persistence.ProjectJobSchedulingXmlSolutionFileIO
(6)org.optaplanner.examples.projectjobscheduling.swingui.ProjectJobSchedulingPanel
(7)org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO
继承
继承父类CommonApp
公有继承:
SOLVER_CONFIG =“org/optaplanner/examples/projectjobscheduling/solver/projectJobSchedulingSolverConfig.xml”;
DATA_DIR_NAME = “projectjobscheduling”;
主函数:ProjectJobSchedulingApp().init();
ProjectJobSchedulingApp:super代表当前对象的父类型特征。姓名加描述,描述分为 多模式受限资源、多项目调度问题(SOLVER_CONFIG),在确定时间和执行模式后调度所有资源(DATA_DIR_NAME),最小化项目延迟(ProjectJobSchedulingPanel.LOGO_PATH)(导入包)
受保护的:ProjectJobSchedulingPanel、SolutionFileIO、AbstractSolutionImporter

domain-resource-GlobalResource.java文件

整体资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource
导入包(父类)
Xstream提供了Java对象和XML格式, JSON格式转换的支持。
com.thoughtworks.xstream.annotations.XStreamAlias
继承
公有继承:Resource(导入包)、isRenewable

domain-resource-LocalResource.java文件

本地资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource;
导入包(父类)
(1)org.optaplanner.examples.projectjobscheduling.domain.Project;
(2)com.thoughtworks.xstream.annotations.XStreamAlias;
继承
公有继承:Resource(导入包)(私有继承:project、renewable)、getproject、setProject、isRenewable、setRenewable

domain-resource-Resource.java文件

资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource;
导入包(父类)
(1)org.optaplanner.examples.common.domain.AbstractPersistable
(2)com.thoughtworks.xstream.annotations.XStreamAlias;
(3)com.thoughtworks.xstream.annotations.XStreamInclude;
@XStreamInclude({GlobalResource.class, LocalResource.class}):导入整体资源和本地资源
继承
公有继承:AbstractPersistable(导入包)(私有继承:capacity)、getCapacity、setCapacity、isRenewable

domain-solver-DelayStrengthComparator.java文件

延迟强度比较文件
路径:org.optaplanner.examples.projectjobscheduling.domain.solver;
导入包(父类):java.util.Comparator;
继承
公有继承:Comparator(导入包)、比较a和b,返回正数则说明a大于b,返回0则表示a等于b,返回负数则表示a小于b

domain-solver-ExecutionModeStrengthWeightFactory.java文件

执行模式权重因子
路径:org.optaplanner.examples.projectjobscheduling.domain.solver;
导入包(父类)
(1)java.util.Comparator.comparingDouble;
(2)java.util.Comparator.comparingLong;


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文版目录总汇及内容提要 第一章. 企业应用中的作业调度 内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案 第二章. Quartz 起步 内容提要:本章对 Quartz 框架一个快速的入门介绍,同时也大略指导你从哪里下载,构建和安装这个框架 第三章. Hello Quartz (第一部分) 内容提要:建立 Hello Quartz 工程,并创建一个 Quartz Job 类 ScanDirectoryJob. 第三章. Hello Quartz (第二部分) 内容提要:创建一个 Quartz Scheduler,关联上一个 Quartz Trigger 以编程方式调度前面编写的 ScanDirectoryJob 运行。 第三章. Hello Quartz (第三部分) 内容提要:通过配置 quartz.properties、quartz_jobs.xml 以声明的方式调度 ScanDirectoryJob 运行。 第三章. Hello Quartz (第四部分) 内容提要:让我们最后简单讨论打包一个用到了 Quarts 框架的应用程序的流程,需要依赖于哪些包,也以此来结束本章的内容。 第四章. 部署 Job (第一部分) 内容提要:介绍 Scheduler 和 SchedulerFactory 有哪些类型、SchedulerFactory 的关键 API 方法;以及如何通过 java.util.Properties 实例或默认 quartz.properties 文件创建 Scheduler。 第四章. 部署 Job (第二部分) 内容提要:如何管理 Scheduler(启动、停止、Standby 模式)。还介绍了 JobJobExecutionContext、JobDetail、JobDataMap,及如何访问 JobDataMap 中的数据。有状态和无状态的 Job。 第四章. 部署 Job (第三部分) 内容提要:Job 的易失性、持久性和可恢复性,如何从 Scheduler 中移除、中断 Job。Quartz 已为我们提供了哪些 Job。最后是 Java 线程的简单介绍。 第四章. 部署 Job (第四部分) 内容提要:线程在 Quartz 中的用法,处理线程:QuartzSchedulerThread 和 Quartz 工作者线程。Quartz Trigger 和 Calendar 各有哪些类型和如何使用。 第五章. Cron 触发器及相关内容 (第一部分) 内容提要:引入 Quartz CronTrigger 及简单使用 CronTrigger 来部署一个 Job 第五章. Cron 触发器及相关内容 (第二部分) 内容提要:详细介绍了 cron 表达式的格式和像 , - * ? / L W C # 特殊符号的使用 第五章. Cron 触发器及相关内容 (第三部分) 内容提要:CronTrigger 使用起(startTime) 迄(endTime) 日期的使用。TriggerUtils 简单方便的创建 Trigger。应用 JobInitializationPlugin 在 quartz_jobs.xml 配置文件中写 Cron 表达式。 第五章. Cron 触发器及相关内容 (第四部分) 内容提要:Cron 表达式 Cookbook,列举了各种 Cron 表达式的写法和意义,有助于更好的理解 Cron 表达式;还用了 TriggerUtils 创建了一个即刻触发的 Trigger。 第六章. Job 存储和持久化 (第一部分) 内容提要:介绍 Quartz 中的 Job 存储,JobStore 接口相关 API 方法。使用 RAMJobStore 来实现 Job 存储及它的优缺点。 第六章. Job 存储和持久化 (第二部分) 内容提要:使用持久性的 JobStore,可用类型 JobStoreTX 和 JobStoreCMT。持久性 JobStore 是通过数据库来完成的,哪可支持哪些数据及需要创建些什么表。 第六章. Job 存储和持久化 (第三部分) 内容提要:使用和配置 JobStoreTX,需要为不同数据库平台指定不同的驱动代理( DriverDelegate),和 quartz.properties 中与 JobStoreTX 相关配置说明。 第六章. Job 存储和持久化 (第四部分) 内容提要:为 JobStoreTX 通过在 quartz.properties 配置来创建数据源,并在 Scheduler 中使用数据源 第六章. Job 存储和持久化 (第五部分

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值