2012-02-26 62 views
1

我resource.groovyGrails的2.0.1:异步消息:`jmsConnectionFactory`编译错误

beans = { 
    jmsConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory) { brokerURL = 'vm://localhost' } 
} 

并运行它说

Running Grails application 
| Error 2012-02-24 18:02:13,490 [pool-6-thread-1] ERROR spring.GrailsRuntimeConfigurator - [RuntimeConfiguration] Unable to load beans from resources.groovy 
Message: No such property: org for class: resources 
    Line | Method 
->> 3 | doCall     in resources$_run_closure1 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 736 | invokeBeanDefiningClosure in grails.spring.BeanBuilder 
| 569 | beans . . . . . . . . . . in  '' 
| 736 | invokeBeanDefiningClosure in  '' 
| 569 | beans . . . . . . . . . . in  '' 
| 511 | invokeMethod    in  '' 
| 303 | innerRun . . . . . . . . in java.util.concurrent.FutureTask$Sync 
| 138 | run      in java.util.concurrent.FutureTask 
| 886 | runTask . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
| 908 | run      in  '' 
^ 662 | run . . . . . . . . . . . in java.lang.Thread 
| Error 2012-02-24 18:02:16,537 [pool-6-thread-1] ERROR context.GrailsContextLoader - Error executing bootstraps: Error creating bean with name 'delayedCreateMessageJmsListenerContainer': Cannot resolve reference to bean 'jmsConnectionFactory' while setting bean property 'connectionFactory'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'jmsConnectionFactory' is defined 
Message: Error creating bean with name 'delayedCreateMessageJmsListenerContainer': Cannot resolve reference to bean 'jmsConnectionFactory' while setting bean property 'connectionFactory'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'jmsConnectionFactory' is defined 

它的工作都好升级之前,更新后2.0.1它失败了这个错误,我用groovy编译器1.8.6

回答

2

这可能是伪装的ClassNotFound的错误。尝试添加一个import语句:

import org.apache.activemq.ActiveMQConnectionFactory

,看看如果你得到一个ClassNotFoundError,如果是的话那么它只是一个追踪失踪的依赖问题。

+0

只是一个简单的问题,如果我想从同一主机上的不同项目的JMS服务提供者,所以如果我在这两个项目(消费者+服务提供者)中安装jms插件,它会给端口冲突,所以关于这个如何使用一些配置可以处理的任何快速的想法 – 2012-02-26 19:01:28

+0

如果我理解正确的场景,这是我所遇到过的。如果有任何想法,我会考虑并回复。 – proflux 2012-02-26 19:35:27

+0

当然,谢谢,它将消费者和经纪人分开 – 2012-02-26 19:39:09

5

我一直在Grails中配置ActiveMQ如下:

BuildConfig.groovy
dependencies { 
    compile 'org.apache.activemq:activemq-core:5.5.0' 
} 

resources.groovy
import org.springframework.jms.connection.SingleConnectionFactory 
import org.apache.activemq.ActiveMQConnectionFactory 

beans = { 
    jmsConnectionFactory(SingleConnectionFactory) { 
     targetConnectionFactory = { ActiveMQConnectionFactory cf -> 
      brokerURL = 'vm://localhost' 
     } 
    } 
} 
+0

谢谢,我添加了运行时jar,它工作! – 2012-02-26 18:51:43

+0

只是一个简单的问题,如果我想从同一主机上的不同项目的JMS服务提供商,所以如果我在这两个项目(消费者+服务提供商)安装jms插件它给端口冲突,所以任何快速的想法就可以了使用一些配置来处理 – 2012-02-26 19:01:40

+0

@Jigar Joshi:你找到了解决方案吗? – Swamy 2014-05-28 13:48:55