Grails 我需要ActiveMQ的插件吗?
作为ActiveMQ的新手,我只是尝试从Grails连接到队列。我看了一下JMS插件、ActiveMQ插件和《Grails权威指南》一书 这本书告诉我,我只需要放下一些罐子,装上一些豆子,就这样:Grails 我需要ActiveMQ的插件吗?,grails,activemq,Grails,Activemq,作为ActiveMQ的新手,我只是尝试从Grails连接到队列。我看了一下JMS插件、ActiveMQ插件和《Grails权威指南》一书 这本书告诉我,我只需要放下一些罐子,装上一些豆子,就这样: jmsFactory(org.apache.activemq.pool.PooledConnectionFactory) { bean -> bean.destroyMethod = "stop" connectionFactory = { org.apache.activemq
jmsFactory(org.apache.activemq.pool.PooledConnectionFactory) { bean ->
bean.destroyMethod = "stop"
connectionFactory = { org.apache.activemq.ActiveMQConnectionFactory cf ->
brokerURL = "tcp://localhost:61616"
}
}
jmsTemplate(org.springframework.jms.core.JmsTemplate) {
connectionFactory = jmsFactory
}
jmsMessageListener(org.springframework.jms.listener.adapter.MessageListenerAdapter, ref("messageService")) {
defaultListenerMethod = "onMessage"
}
jmsContainer(org.springframework.jms.listener.DefaultMessageListenerContainer) {
connectionFactory = jmsFactory
destinationName = "demoQueue"
messageListener = jmsMessageListener
transactionManager = ref("transactionManager")
autoStartup = false
}
我测试了一下,它看起来很有魅力。即使是交易也能起作用
那么我是否需要使用其中一个插件呢?我错过了什么吗?不,如果你愿意自己集成插件,就不需要使用插件 我使用jms插件并手动配置ActiveMQ 您可以在BuildConfig.groovy中自动包含JMS插件和ActiveMQ jar:
repositories {
...
mavenCentral()
...
}
plugins {
...
runtime ":jms:1.2"
...
}
dependencies {
...
compile "org.apache.activemq:activemq-core:5.5.1"
...
}
beans = {
...
jmsConnectionFactory(SingleConnectionFactory) {
targetConnectionFactory = { ActiveMQConnectionFactory cf ->
brokerURL = "vm://localhost"
}
}
...
}
并在spring/resources.groovy中配置ActiveMQ嵌入式代理:
repositories {
...
mavenCentral()
...
}
plugins {
...
runtime ":jms:1.2"
...
}
dependencies {
...
compile "org.apache.activemq:activemq-core:5.5.1"
...
}
beans = {
...
jmsConnectionFactory(SingleConnectionFactory) {
targetConnectionFactory = { ActiveMQConnectionFactory cf ->
brokerURL = "vm://localhost"
}
}
...
}
我想我不需要嵌入式代理,因为我使用的是外部代理 要使用外部代理,只需更改spring/resources.groovy中定义的代理URL
那么JMS插件呢。使用它有哪些好处
JMS插件提供了有用的Grails集成。有关更多信息,请参阅。hm。我想我不需要嵌入式代理,因为我使用的是外部代理。那么JMS插件呢。使用它有哪些好处?@Ralf请查看我的答案的更新以了解您的其他问题。您知道如何配置嵌入式ActiveMQ代理吗?您是否尝试通过jdbc将消息持久化到mysql或任何其他数据库?我在坚持邮件方面有问题。如果您可以共享resource.groovy文件,以及如何添加持久性,那就太好了。队列管理器可以确保消息的传递。所以在坚持方面没有什么可做的。在Grails应用程序中,只接收消息,然后您可以通过普通的域类持久化它们。但我记得,您处于一个事务上下文中。也许那是你的问题。为什么不发布一个新问题?