我见过几个类似的问题,但我还没有找到解决方案。抱歉,如果这是重复的。
我的数据源是 MongoDB,它的属性由用户在外部配置文件中定义,如下所示:
外部数据源文件
mongo {
host = "mongohost"
port = 27017
databaseName = "myDatabase"
}
这很好,并且已经运行了很长一段时间。现在问题出现了,因为我已将石英添加到应用程序中。我需要在 Quartz 配置文件中定义石英的数据源。
QuartzConfig.groovy
quartz {
autoStartup = true
jdbcStore = false
waitForJobsToCompleteOnShutdown = true
exposeSchedulerInRepository = false
props {
scheduler.skipUpdateCheck = true
jobStore.class="com.novemberain.quartz.mongodb.MongoDBJobStore"
jobStore.mongoUri="${mongo.host}"
jobStore.addresses="${mongo.host}"
jobStore.dbName="quartz"
jobStore.collectionPrefix="quartz"
threadPool.threadCount=1
}
}
主机应与外部数据源中用户定义的主机相同。无论我尝试什么,我似乎都无法访问 mongo.host 变量。一种选择是要求用户也在外部文件中指定石英配置,但我不想这样做,因为我想让该文件尽可能基本。我只想重用 mongo.host 变量。
有谁知道怎么做?
注意 我正在使用这里开发的quartz-mnongo 类https://github.com/michaelklishin/quartz-mongodb如果任何使用石英的人偶然发现这个问题并发现我有mongo配置选项很奇怪。