1

我见过几个类似的问题,但我还没有找到解决方案。抱歉,如果这是重复的。

我的数据源是 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配置选项很奇怪。

4

0 回答 0