c# - 如何将自定义 IJobStore 设置为 Quartz (.Net Core)
问题描述
您好我有一个小问题,我在我的 .Net Core 应用程序中使用 Quartz,我需要将“作业”信息保存到本地文件(不能使用 RAM 或数据库)。当我找不到像 LocalFileJobStore 这样的默认实现时,我创建了它,但现在我不知道如何将它插入到 qurtz 中。我很高兴收到您的答复
我如何尝试这样做:
private static async Task Main(string[] args)
{
{
var props = new NameValueCollection
{
{"quartz.jobStore.type", "testAsync.LocalJobStore"}
};
var factory = new StdSchedulerFactory(props);
var scheduler = await factory.GetScheduler();
await scheduler.Start();
}
}
在哪里
“testAsync.LocalJobStore”
我的类的“testAsync”命名空间和“LocalJobStore”类名
如果我尝试获取这样的类型(就像在 Quartz 中所做的一样)
var type1 = Type.GetType("testAsync.LocalJobStore", true);
它没有例外地工作,但是我将“testAsync.LocalJobStore”放入调度程序工厂我有这个例外 -
解决方案
您需要像这样设置 NameValueCollection:
private static async Task Main(string[] args)
{
{
var props = new NameValueCollection
{
{"quartz.jobStore.type", "<<full class name>>, <<assembly name>>"}
};
var factory = new StdSchedulerFactory(props);
var scheduler = await factory.GetScheduler();
await scheduler.Start();
}
}
之后你也可以有关于序列化的例外,所以添加
{"quartz.serializer.type", "binary"}
到 NameValueCollection
推荐阅读
- html - 如何为聊天气泡创建循环?
- javascript - 谷歌折线图中从左到右的启动动画
- android - 通过标签获取最后一个片段
- file - 在 Jenkins 中获取上传的文件
- oracle - 如何限制没有人在oracle中禁用触发器
- android - 当我们应该使用“直接跟随”或“间接跟随”在 Google Analytics for firebase 中创建封闭漏斗时
- java - 如何使用标准构建器使用多个过滤器进行搜索
- java - Gradle 无法编译从域类中导入的 jar
- bash - 在 s3 命令中提取头记录但导致 ^M
- angular - 方法调用完成后可观察的返回值