没有'org.springframework.jms.core.JmsTemplate'类型的限定bean

时间:2018-02-01 19:08:01

标签: java spring activemq spring-jms jmstemplate

我有以下依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
    <version>1.5.10.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jms</artifactId>
    <version>5.0.3.RELEASE</version>
</dependency>

以及以下源代码:

@SpringBootApplication
@EnableJms
public class ArApplication {

    @Autowired
    private JmsTemplate jmsTemplate;

    private static final Logger logger = LoggerFactory.getLogger(ArApplication.class);


    public static void main(String[] args) throws InterruptedException {

        ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
        JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
        jmsTemplate.convertAndSend("robotCommand", "test");

    }    
    public ConnectionFactory jmsConnectionFactory() {
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        return connectionFactory;
    }

}

我的申请无法启动:

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.jms.core.JmsTemplate' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1092)
    at pack.ArApplication.main(ArApplication.java:34)

是什么原因?

1 个答案:

答案 0 :(得分:0)

我添加到我的测试类:

import boto3

client = boto3.client("mturk")

hit_type_id = "my_hit_type_id"

client.update_notification_settings(
   HITTypeId=hit_type_id,
   Active=False
)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Server.class)

@AutoConfigureMockMvc()
@ContextConfiguration(classes = MusicPlayerApplication.class)