`

springboot:amq

阅读更多
pom.xml
=======================================================
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>
=======================================================
AmqConfigation.java
=======================================================
@Configuration
public class AmqConfigation {

    @Bean(name= "connectionFactory")
    public ActiveMQConnectionFactory connectionFactory () {
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
        factory.setBrokerURL("tcp://172.16.30.57:61616");
        factory.setUseAsyncSend(true);
        factory.setUseCompression(true);
        factory.setMaxThreadPoolSize(100);
        return factory;
    }

    @Bean(name = "simpleMessageConverter")
    public SimpleMessageConverter getSimpleMessageConverter(){
        SimpleMessageConverter converter = new SimpleMessageConverter();
        return converter;
    }

    @Bean(name = "queue1")
    public ActiveMQQueue queue(){
        return new ActiveMQQueue("queue1");
    }

}
=======================================================
AmqConsumerConfiguration.java
=======================================================
@Configuration
public class AmqConsumerConfiguration {

//    public RedeliveryPolicyMap getRedeliveryPolicyMap(){
//        RedeliveryPolicyMap policyMap = new RedeliveryPolicyMap();
//        RedeliveryPolicy policy = new RedeliveryPolicy();
//        policy.set
//        policyMap.setDefaultEntry();
//    }

    //=================================one start
    @Bean(name = "messageConsumer1")
    public IMessageConsumer getMessageConsumer1(){
        IMessageConsumer cunsumer = new MessageConsumer1();
        return cunsumer;
    }

    @Bean(name = "messageListenerAdapter1")
    public MessageListenerAdapter getMessageListenerAdapter1(@Qualifier("messageConsumer1")IMessageConsumer consumer,
                                                            @Qualifier("simpleMessageConverter") SimpleMessageConverter converter){
        MessageListenerAdapter listenerAdapter = new MessageListenerAdapter(consumer);
        listenerAdapter.setMessageConverter(converter);
        listenerAdapter.setDefaultListenerMethod("handleMessage");
        return listenerAdapter;
    }

    @Bean(name = "messageListenerContainer1")
    public SimpleMessageListenerContainer getSimpleMessageListenerContainer1(@Qualifier("connectionFactory") ActiveMQConnectionFactory connectionFactory,
                                                                             @Qualifier("queue1") ActiveMQQueue queue,
                                                                             @Qualifier("messageListenerAdapter1") MessageListenerAdapter listenerAdapter){
        SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer();
        listenerContainer.setConnectionFactory(connectionFactory);
        listenerContainer.setDestination(queue);
        listenerContainer.setMessageListener(listenerAdapter);
        listenerContainer.setConcurrency("5-10");
        listenerContainer.setSessionTransacted(true);
        return listenerContainer;
    }
    //=================================one end

}
=======================================================
AmqProducterConfiguration.java
=======================================================
@Configuration
public class AmqProducterConfiguration{


    @Bean(name = "messageProducter1")
    public JmsTemplate getTemplate(@Qualifier("connectionFactory") ActiveMQConnectionFactory connectionFactory,
                                   @Qualifier("simpleMessageConverter") SimpleMessageConverter converter,
                                   @Qualifier("queue1") ActiveMQQueue queue ){
        JmsTemplate template = new JmsTemplate();
        template.setConnectionFactory(connectionFactory);
        template.setMessageConverter(converter);
        template.setDefaultDestination(queue);
        template.setExplicitQosEnabled(true);
        template.setDeliveryMode(2);
        template.setPubSubDomain(false);
        template.setSessionTransacted(true);
        template.setSessionAcknowledgeMode(1);
        return template;
    }

}
=======================================================
IMessageConsumer.java
=======================================================
public interface IMessageConsumer {

    void handleMessage(String message) throws JMSException;

}
=======================================================
MessageConsumer1.java
=======================================================
public class MessageConsumer1 implements IMessageConsumer {

    public void handleMessage(String message)throws JMSException{
        try{

            System.out.println("message = [" + message + "]");

        }catch (Exception e){
        }
    }

}
=======================================================
MessageProducter.java
=======================================================
public interface MessageProducter<T extends BaseEntity> {

    void send(T t);

}
=======================================================
MessageProducter1.java
=======================================================
@Component("test-messageSender1")
public class MessageProducter1 implements MessageProducter<City> {

    @Resource(name = "messageProducter1")
    JmsTemplate messageSender;

    @Override
    public void send(City data) {
        try {
            messageSender.convertAndSend("");
        }catch (Exception e){
        }
    }

}
=======================================================
test.java
=======================================================
@Resource(name = "test-messageSender1")
    MessageProducter messageProducter;

    public void send() {
        City city = new City();
        city.setCityName("测试");
        messageProducter.send(city);
    }

分享到:
评论

相关推荐

    springboot+amq+javamail+maven

    1. **SpringBoot与ActiveMQ集成**:SpringBoot可以通过添加对应的依赖来集成ActiveMQ。在配置文件中,我们可以设置ActiveMQ服务器的相关参数,如URL、用户名和密码。然后,SpringBoot的AutoConfiguration机制会自动...

    springboot-amq-s2i

    Red Hat JBoss A-MQ xPaaS产品应该已经安装并在OpenShift安装上运行,一种运行A-MQ服务的简单方法是遵循与amq63-basic模板相关的OpenShift的A-MQ xPaaS映像的文档。 。 然后,以下命令将打包您的应用并在OpenShift...

    amq最近安装包

    【标题】:“阿帕奇AMQ最新Linux系统安装包” 阿帕奇ActiveMQ,简称AMQ,是一款由Apache软件基金会开发的开源消息中间件。它遵循开放消息中间件协议(Open Message Broker Protocol),并实现了Java消息服务(JMS)...

    WebSphere MQ - Messages.pdf

    这些错误代码范围从AMQ4000到AMQ4999,涵盖了安装、配置和运行过程中可能遇到的各种情况。 ### 第3章:AMQ5000-AMQ5999 安装服务消息 这部分内容着重介绍了在安装和配置WebSphere MQ过程中可能遇到的问题,包括但...

    spring-boot-camel-amq:快速入门,展示如何将Spring Boot,Apache Camel和Apache ActiveMQ与Kubernetes或OpenShift一起使用

    Spring-Boot,Camel和EnMasse快速入门本快速入门演示了如何使用Kubernetes或OpenShift将Spring-Boot应用程序连接到EnMasse(MaaS)并在两条骆驼路线之间使用JMS消息传递。 在此示例中,我们将使用两个容器,一个容器...

    random-amq:一个让我搞乱amq东西的地方(animemusicquiz.com)

    然后使用amq_scraper.py脚本中保存的CSV文件获取JSON文件。 用法是: amq_scraper.py &lt;sheet&gt; 一些较旧的文件可能包含JSON错误,必须手动更正。 但是,如果您从此存储库下载JSON文件而不是再次抓取它们,则应该...

    java通过AMQ通讯

    Java通过AMQ通讯是一种在分布式系统中实现消息传递的技术,主要使用了Apache ActiveMQ(简称AMQ)这一开源的消息中间件。AMQ是基于Java Message Service(JMS)规范的,它提供了一种高效、可靠的平台,使得应用程序...

    AMQ 实现消息队列 基本DEMO

    AMQ(ActiveMQ)是Apache软件基金会开发的一款开源消息中间件,它实现了多种消息协议,如OpenWire、STOMP、XMPP、AMQP等,能够有效地支持分布式系统中的异步通信。消息队列是一种设计模式,它允许应用程序通过将消息...

    自己实现的 ActiveMQ 多线程客户端 包含生产消息客户端和消费者消息客户端

    - **Amq_Producer_mt.cpp**:扩展了 Amq_Producer.cpp,增加了多线程支持,每个线程独立发送消息,提高消息发送速率。 - **Amq_Consumer.cpp**:消费者客户端的实现,负责接收和处理来自 ActiveMQ 服务器的消息。 ...

    apache-activemq-5.14.5.zip

    消息中间件(Adaptive Message Queue,简称:AMQ)是一个高性能的消息中间件,AMQ提供了基于Publish/Subscribe的消息通讯服务,同时AMQ可以提供服务总线功能,供其他进程可以在AMQ上进行服务注册,客户端软件可以...

    amq-examples:此存储库包含一组与 Red Hat AMQ 消息传递套件组件一起使用的示例

    红帽 AMQ 示例 该存储库包含一组与 Red Hat AMQ 消息传递套件组件一起使用的示例。 :股票报价应用程序展示了来自浏览器的rhea javascript 客户端、websockets 和 TLS 连接 :简单Hello World的NodeJS应用特色rhea ...

    AMQ样例,参考

    标题中的“AMQ样例,参考”提示我们,这是一个关于ActiveMQ应用的示例,用于指导用户理解如何在实际环境中部署和使用ActiveMQ。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它作为消息中间件,允许应用程序...

    10Gtek AMQ10-SR4-M1 (JH2)V1.1.pdf

    【10Gtek AMQ10-SR4-M1(JH2)V1.1.pdf】是一款由10Gtek公司推出的40GBASE-SR QSFP+光收发器规格书,主要针对高速网络连接,特别是数据中心和高性能计算环境。这款产品支持40GBASE-SR4和QDR应用,符合QSFP+电气多源...

    AMQ接收与发送

    **AMQ接收与发送** ActiveMQ是Apache软件基金会下的一个开源消息中间件项目,它遵循JMS(Java消息服务)规范,提供高可靠的消息传递功能,使得分布式系统中的组件能够异步交换信息。ActiveMQ的强大之处在于其灵活性...

    AMQ28-SR4-M1-V1.0

    ### AMQ28-SR4-M1-V1.0 光模块关键技术知识点解析 #### 一、产品概述 AMQ28-SR4-M1-V1.0 是一种高性能的100G QSFP28 SR4 光模块,适用于短距离传输(如数据中心内部连接),最大传输距离可达100米(在OM4多模光纤...

    amq-example:A-MQ 示例

    【标题】:“amq-example:A-MQ 示例” 【描述】:“AMQ OpenShift 客户端,AMQ 客户端实验室练习的支持文件,amq-example” 【标签】:“Java” 【压缩包子文件的文件名称列表】:amq-example-master --- 在...

    workshop-amq-streams

    红帽集成:AMQ Streams Workshop 介绍 已成为构建实时数据管道的领先平台。 如今,Kafka被大量用于开发事件驱动的应用程序,使服务可以通过事件相互通信。 将Kubernetes用于此类工作负载需要添加专门的组件,例如...

    spring整合amq

    标题中的“spring整合amq”指的是将Spring框架与ActiveMQ(AMQ)集成,以便在Spring应用程序中使用消息队列进行通信。ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能丰富的消息代理,实现了多种消息协议,...

    MQ队列管理器删除和备份还原的问题

    但是,如果/var/mqm/qmgrs/QM_CHUAN文件系统损坏不能访问的话,再执行删除会提示错误:AMQ6166: An INI file is missing。如果想重新创建这个同名的队列管理器也会报错:AMQ8110: WebSphere MQ queuemanager already...

Global site tag (gtag.js) - Google Analytics