当前位置: 首页 > 知识库问答 >
问题:

通过Adobe JobStore存储作业面临的问题

公瑞
2023-03-14

我已从AdoJobStore成功连接到Oracle DB。但是当我尝试添加一个作业时,我得到了以下异常。

异常源:Quartz异常方法:Void StoreJob(Quartz.Impl.AdoJobStore.ConnectionAndTransactionHolder,Quartz.IJobDetail,布尔值)异常堆栈跟踪:位于Quartz。Impl。阿多乔布商店。Jobstore支持。c:\Work\OpenSource\Quartz中的StoreJob(ConnectionAndTransactionHolder conn,IJobDetail newJob,Boolean replaceExisting)。NET\quartznet\src\Quartz\Impl\AdoJobStore\jobstore支持。cs:Quartz的922线。Impl。阿多乔布商店。Jobstore支持。

下面是我安排作业的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Quartz.Impl;
using System.IO;

namespace TestScheduling
{
    class TestScheduleJob : ITaskScheduler
    {
        IScheduler sched;
        public void Run()
        {
            try
            {
                JobDataMap jobdata = new JobDataMap();
                jobdata.Add("mtid", "value");
                IJobDetail job = JobBuilder.Create<TestJob>().WithIdentity("job1", "group1").UsingJobData(jobdata).RequestRecovery(true).Build();
                DateTimeOffset dt = new DateTimeOffset(DateTime.Now.AddSeconds(10));
                ISimpleTrigger trig = (ISimpleTrigger)TriggerBuilder.Create().StartAt(dt).WithSimpleSchedule(x => x.WithIntervalInSeconds(10).WithRepeatCount(5)).Build();
                ISchedulerFactory sf = new StdSchedulerFactory();
                sched = sf.GetScheduler();
                sched.ScheduleJob(job, trig);
                sched.Start();
            }
            catch (Exception e)
            {
                StreamWriter streamWriter = new StreamWriter(new FileStream("C:\\test_schedule_job_error.txt", FileMode.Append));
                String exceptionEntry = "Exception Source:\n" + e.Source + "\n" + "Exception Method:\n" + e.TargetSite + "\n" + "Exception StackTrace:\n" + e.StackTrace + "\n" + "Exception Message:\n" + e.Message;
                streamWriter.WriteLine(exceptionEntry);
                streamWriter.Close();
                throw e;
            }
            finally
            {
            }
        }
        public void Stop()
        {
            if (sched != null)
            {
                sched.Shutdown();
            }
        }
    }
}

请帮忙!!!

共有1个答案

孔驰
2023-03-14

您应该使用Oracle委托而不是StdAdobe委托。在配置中使用

properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.OracleDelegate, Quartz";
 类似资料:
  • 问题内容: 我想每15分钟通过一次cron作业将数据从熊猫存储到redis中,以下是我的代码:- 我使用下面的代码每15分钟将数据带入大熊猫,然后通过cron作业将其发送到redis字典mydict2。 我在键mydict2中一次又一次得到相同的输出。基本上,我想存储整个月的用户ID,并希望在月底存储唯一的ID。 另外我正在使用set方法,假设我有大量数据,这可能是最好的方法。 有人可以在这里帮我

  • “stack_trace”:“org.springframework.jdbc.uncategorizedsqlexception:CallableStatementCallback;SQL[{call post_cycle_tfo_stat_pkg.insert_cycle_status(?,?,?,?)}]得SQLException未分类;SQL状态[99999];错误代码[17004];无效

  • 问题内容: 我找到了一种方法来访问Jenkins中的凭据存储区: 但是现在我想获取我不能做的适当用户的密码… 我总是得到未知的方法等,如果我尝试访问passord等。 这样做的原因是使用此用户/密码来调用git并从存储库中提取信息。 我总是得到这样的东西: 在尝试了更多(以及Jeanne Boyarsky的暗示)之后,我发现我正在考虑编译。以下内容已为我提供了用户密码: 此外,通过使用以下代码片段

  • 我有一个管道(jenkins)工作,它使用多个存储库。 存储库是这样签出的: 现在,我想在对任何存储库进行提交时触发该作业。如何配置?

  • 现在我手动更改系统时间。例如,如果我将作业安排在2/5/2013 12:45 PM运行,那么我将系统时钟时间更改为2/5/2013 12:43 PM,然后等待几分钟,看看Quartz是否从DB接收到该作业。这对我很管用。 我不想每次需要测试时都更改系统时钟时间。有没有更好的办法做到这一点? 我注意到频繁地改变系统时间有时会使Quartz搞砸,因为有些工作没有被接上。

  • 问题内容: 我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]? Select所有数据都可以BusinessLine正常tmpBusLine工作。 我正在尝试相同的方法,但是使用stored procedure返回数据的a并不完全相同。 输出信息: 消息156,级别15,状态1