Spring boot Spring引导客户端连接到现有JBoss EAP7 ActiveMQ

Spring boot Spring引导客户端连接到现有JBoss EAP7 ActiveMQ,spring-boot,jboss,activemq,Spring Boot,Jboss,Activemq,我一直在网上搜索,但是我找不到一个关于如何使用Spring引导客户机连接到JBoss上的ActiveMQ(启动并运行)的示例 Spring提供了很多教程,但是使用了嵌入式代理 任何指针都会很棒 提前感谢,, 毫升 根据提供的信息,我得到了以下信息: @Configuration @SpringBootApplication @EnableJms public class Application { @Bean ActiveMQConnectionFactory activeMQConnecti

我一直在网上搜索,但是我找不到一个关于如何使用Spring引导客户机连接到JBoss上的ActiveMQ(启动并运行)的示例

Spring提供了很多教程,但是使用了嵌入式代理

任何指针都会很棒

提前感谢,, 毫升

根据提供的信息,我得到了以下信息:

@Configuration
@SpringBootApplication
@EnableJms
public class Application {

@Bean
ActiveMQConnectionFactory activeMQConnectionFactory() {

    final String host = "http://127.0.0.1:8080";

    ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(host);
    factory.setUserName("user");
    factory.setPassword("pwd");
    factory.setTrustAllPackages(true);


    return factory;
}

@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
        DefaultJmsListenerContainerFactoryConfigurer configurer) {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    // This provides all boot's default to this factory, including the
    // message converter
    configurer.configure(factory, connectionFactory);
    // You could still override some of Boot's default if necessary.
    return factory;
}



@Bean // Serialize message content to json using TextMessage
public MessageConverter jacksonJmsMessageConverter() {
    MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
    converter.setTargetType(MessageType.TEXT);
    converter.setTypeIdPropertyName("_type");
    return converter;
}

public static void main(String[] args) {
    // Launch the application
    ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);

    JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);

    // Send a message with a POJO - the template reuse the message converter
    System.out.println("Sending an email message.");
    jmsTemplate.convertAndSend("TestQ", new Email("info@example.com", "Hello"));
}
我不知道这是什么:

Caused by: java.lang.IllegalArgumentException: Invalid connect 
parameters: {wireFormat.host=127.0.0.1}

感谢提供配置,但将代理url更改为外部ActiveMQ服务器:请参阅以了解不同的协议(例如tcp)。您可能还需要包括用户和密码

我从本教程开始,并对其进行了自己的编辑,以使其按照我希望的方式使用ActiveMQ。您也可以在此处查找其他选项:。在春天有几种不同的方法可以做到这一点

也包括工厂豆。在这里,我使用@JmsListener注释来侦听消息,并使用jmstemplate发布消息

import javax.jms.ConnectionFactory;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import org.springframework.jms.config.JmsListenerContainerFactory;  



@Configuration
@EnableJms
public class JMSConfiguration {
    private static final Logger logger = LoggerFactory.getLogger(JMSConfiguration.class);

    @Bean ActiveMQConnectionFactory activeMQConnectionFactory() {
        ActiveMQConnectionFactory factory =
                new ActiveMQConnectionFactory("tcp://somehost:61616");

        factory.setTrustAllPackages(true);

        return factory;
    }

    @Bean
    public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
            DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        // This provides all boot's default to this factory, including the
        // message converter
        configurer.configure(factory, connectionFactory);
        // You could still override some of Boot's default if necessary.
        return factory;
    }
}
导入javax.jms.ConnectionFactory;
导入org.apache.activemq.ActiveMQConnectionFactory;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
导入org.springframework.context.ApplicationContext;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.jms.annotation.EnableJms;
导入org.springframework.jms.config.DefaultJmsListenerContainerFactory;
导入org.springframework.jms.config.JmsListenerContainerFactory;
@配置
@使能JMS
公共类JMS配置{
私有静态最终记录器Logger=LoggerFactory.getLogger(JMSConfiguration.class);
@Bean ActiveMQConnectionFactory ActiveMQConnectionFactory(){
ActiveMQConnectionFactory工厂=
新建ActiveMQConnectionFactory(“tcp://somehost:61616");
factory.setTrustAllPackages(true);
返回工厂;
}
@豆子
公共JmsListenerContainerFactory myFactory(连接工厂连接工厂,
DefaultJmsListenerContainerFactoryConfigurer(配置器){
DefaultJmsListenerContainerFactory=新的DefaultJmsListenerContainerFactory();
//这将为此工厂提供所有引导的默认设置,包括
//消息转换器
configurer.configure(工厂、连接工厂);
//如有必要,您仍然可以覆盖Boot的一些默认设置。
返回工厂;
}
}
依赖项:spring启动程序activemq


Spring版本:1.4.3.发布

进行配置,但将代理url更改为外部ActiveMQ服务器:请参阅以了解不同的协议(例如tcp)。您可能还需要包括用户和密码

我从本教程开始,并对其进行了自己的编辑,以使其按照我希望的方式使用ActiveMQ。您也可以在此处查找其他选项:。在春天有几种不同的方法可以做到这一点

也包括工厂豆。在这里,我使用@JmsListener注释来侦听消息,并使用jmstemplate发布消息

import javax.jms.ConnectionFactory;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import org.springframework.jms.config.JmsListenerContainerFactory;  



@Configuration
@EnableJms
public class JMSConfiguration {
    private static final Logger logger = LoggerFactory.getLogger(JMSConfiguration.class);

    @Bean ActiveMQConnectionFactory activeMQConnectionFactory() {
        ActiveMQConnectionFactory factory =
                new ActiveMQConnectionFactory("tcp://somehost:61616");

        factory.setTrustAllPackages(true);

        return factory;
    }

    @Bean
    public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
            DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        // This provides all boot's default to this factory, including the
        // message converter
        configurer.configure(factory, connectionFactory);
        // You could still override some of Boot's default if necessary.
        return factory;
    }
}
导入javax.jms.ConnectionFactory;
导入org.apache.activemq.ActiveMQConnectionFactory;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
导入org.springframework.context.ApplicationContext;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.jms.annotation.EnableJms;
导入org.springframework.jms.config.DefaultJmsListenerContainerFactory;
导入org.springframework.jms.config.JmsListenerContainerFactory;
@配置
@使能JMS
公共类JMS配置{
私有静态最终记录器Logger=LoggerFactory.getLogger(JMSConfiguration.class);
@Bean ActiveMQConnectionFactory ActiveMQConnectionFactory(){
ActiveMQConnectionFactory工厂=
新建ActiveMQConnectionFactory(“tcp://somehost:61616");
factory.setTrustAllPackages(true);
返回工厂;
}
@豆子
公共JmsListenerContainerFactory myFactory(连接工厂连接工厂,
DefaultJmsListenerContainerFactoryConfigurer(配置器){
DefaultJmsListenerContainerFactory=新的DefaultJmsListenerContainerFactory();
//这将为此工厂提供所有引导的默认设置,包括
//消息转换器
configurer.configure(工厂、连接工厂);
//如有必要,您仍然可以覆盖Boot的一些默认设置。
返回工厂;
}
}
依赖项:spring启动程序activemq

Spring版本:1.4.3.0版本

import javax.jms.ConnectionFactory;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import org.springframework.jms.config.JmsListenerContainerFactory;  



@Configuration
@EnableJms
public class JMSConfiguration {
    private static final Logger logger = LoggerFactory.getLogger(JMSConfiguration.class);

    @Bean ActiveMQConnectionFactory activeMQConnectionFactory() {
        ActiveMQConnectionFactory factory =
                new ActiveMQConnectionFactory("tcp://somehost:61616");

        factory.setTrustAllPackages(true);

        return factory;
    }

    @Bean
    public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
            DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        // This provides all boot's default to this factory, including the
        // message converter
        configurer.configure(factory, connectionFactory);
        // You could still override some of Boot's default if necessary.
        return factory;
    }
}