Vs2019,netframewrok4.7.2,Quartz3.3.2,Oracle.ManagedDataAccess
var connstr="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xx.xx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=xxxx;Password=xxxx"
var propertiesOracle = new NameValueCollection
{
["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz",
["quartz.serializer.type"] = "binary",
["quartz.jobStore.tablePrefix"] = "QRTZ_",
["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.OracleDelegate, Quartz",
["quartz.jobStore.dataSource"] = "ORCL",
["quartz.dataSource.ORCL.connectionString"] = connstr,
["quartz.dataSource.ORCL.provider"] = "OracleODPManaged"
};
var factory = new StdSchedulerFactory(propertiesOracle);
var scheduler = await factory.GetScheduler();
await scheduler.Start();
var job = JobBuilder.Create(typeof(TestJob))
.WithIdentity("job", "jobgroup")
.UsingJobData("tt", "小鸡鸡")
.UsingJobData("mm", 1)
.Build();
var trigger = TriggerBuilder.Create()
.WithIdentity("trigger", "triggergroup")
.WithCronSchedule(conExp, x => x.WithMisfireHandlingInstructionDoNothing())
.StartAt(DateTime.Now.AddSeconds(10))
.Build();
await scheduler.ScheduleJob(job, trigger);
job类
public class TestJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
var tt= context.JobDetail.JobDataMap.GetString("tt");
var mm= context.JobDetail.JobDataMap.GetInt("mm");
return Task.Run(() =>
{
Console.WriteLine($"你好!{tt},小明:{mm}");
});
}
}
Quartz在Oracle中的11张表,标准的11张表,执行后下列表中产生记录,但是就是不触发执行job。。。。。。求大神指教!重谢!!!!!
- QRTZ_CRON_TRIGGERS
- QRTZ_JOB_DETAILS
- QRTZ_TRIGGERS