我已经看过几个类似的问题,但我还没有找到解决方案。如果这是重复的话,请道歉。
我的数据源是MongoDB,用户正在外部配置文件中定义其属性,如下所示:
外部数据源文件
mongo {
host = "mongohost"
port = 27017
databaseName = "myDatabase"
}
这很好,并且它已经运作了很长一段时间。 现在问题已经出现,我已经在应用中添加了石英。我需要在Quartz配置文件中定义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配置选项很奇怪。