通过JMS插件在Grails中使用ActiveMQ,我不知道如何设置KahaDb持久性属性。
尝试过类似的东西:
amq.broker(useJmx: true, persistent: true) {
amq.transportConnectors() {
amq.transportConnector(uri: "tcp://0.0.0.0:61616")
}
amq.persistenceAdapter() {
amq.kahaDB(directory:${application.config.grails.moviesxd.activemq.kahadb},
checksumJournalFiles:true,
checkForCorruptJournalFiles:true,
ignoreMissingJournalfiles:true)
}
}
但是我明白了
groovy.lang.GroovyRuntimeException: Namespace prefix: kahadb is not bound to a URI
似乎无法识别kahadb前缀,但我无法在任何地方找到有关如何执行此操作的文档。
最佳答案
您只是错过了相当于
xmlns:amq='http://activemq.apache.org/schema/core'
那将是
xmlns amq:'http://activemq.apache.org/schema/core'
(有关更多信息,请参见reference docs-搜索“使用Spring命名空间”)
所以整个转换是
import org.springframework.jms.connection.SingleConnectionFactory
xmlns amq:'http://activemq.apache.org/schema/core'
amq.broker(useJmx: true, persistent: true) {
amq.transportConnectors {
amq.transportConnector(uri: 'tcp://0.0.0.0:61616')
}
amq.persistenceAdapter {
amq.kahaDB(directory: application.config.grails.moviesxd.activemq.kahadb,
checksumJournalFiles: true,
checkForCorruptJournalFiles: true,
ignoreMissingJournalfiles: true)
}
}
amq.connectionFactory(id: 'amqConnectionFactory', brokerURL: 'vm://localhost')
jmsConnectionFactory(SingleConnectionFactory, ref('amqConnectionFactory'))
关于grails - Grails的KahaDb属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29743494/