精华内容
下载资源
问答
  • IBM MQ mqmd groupID是什么意思 ,怎么使用。 必须得用随机数生成,还是直接可以用; MQMessage outMsg = new MQMessage(); outMsg.groupId=gid;
  • 在阿里云服务提供的消息队列服务(RocketMQ),给出了一份关于订阅关系一致的最佳实践,在文档指出同一个 GroupID 的所有消费者实例最好订阅同样的 Topic+Tag。这让我有一些疑问,为什么一个 GroupID 只能产生...

    问题

    在阿里云服务提供的消息队列服务(RocketMQ)中,给出了一份关于订阅关系一致的最佳实践,在文档中指出同一个 GroupID 中的所有消费者实例最好订阅同样的 Topic+Tag。这让我有一些疑问,为什么一个 GroupID 只能产生一种订阅,这样岂不是同一个应用需要订阅不同的 Topic 那么每一次都需要去申请一个 GroupID,这使得 GroupID 和 Topic 产生了一定的耦合关系,看起来是不太合理的,那么为什么 RocketMQ 要这么做呢?

    解答

    经过对源码的阅读找到了一部分关于这个问题的答案。

    如果同一个 GroupID 下的不同消费者实例,订阅了不同的 Topic+Tag 将导致在对Topic 的消费队列进行负载均衡的时候产生不正确的结果,最终导致消息丢失。

    在消费者客户端有一个名为 Rebalance 的类,会周期性的对消费者和订阅的 Topic 的消费队列(类似于 Kafka 的 Partition)进行负载均衡。在进行负载均衡的过程中,需要通过 mqClientFactory.findConsumerIdList(topic,consumerGroup) 方法去获取在这个 GroupId下所有订阅这个 topic 的 clientId。
    调用客户端获取当前 GroupID 订阅 Topic 的 ClientId

    看到这个地方就有一些疑问了,命名这里有根据 GroupID 和 Topic 作为参数去获取 ClientID 怎么会产生问题呢?继续往下看。

    具体获取订阅的 ClientID
    我们可以看到 findConsumerIdList 方法中并没有把 Topic 继续往下传递,而仅仅是用topic 作为一个获得 Broker 地址的参数,在实际之后获取 ClientId 的方法中并没有传入 Topic。这样就会导致这个调用会返回当前 GroupID 下所有的消费者实例,无论这个消费者是否订阅了当前这个 Topic。返回的 ClientID 会参与当前 Topic 的消费对类的负载均衡,如果没有订阅这个 Topic 的消费者实例被分配到了消息队列,就会导致消费队列中的消息消费失败。

    展开全文
  • java操作webspheremq

    2021-08-16 22:36:25
    java操作webspheremq 文章目录java操作webspheremq一、简介二、准备2.1 接收队列管理器2.2 发送队列管理器三、使用示例3.1 添加maven依赖3.2 定义mq配置参数文件3.3 定义mq连接管理类3.4 定义消息发送和接收服务...

    java中操作webspheremq

    一、简介

    这里介绍使用webspheremq原生java客户端,进行消息的发送和接收。

    二、准备

    在webspheremq中创建发送队列管理器和接收队列管理器,及相关队列、监听器。

    2.1 接收队列管理器

    接收队列管理器及相关队列、监听器创建如下:

    #创建接收队列管理器
    crtmqm QUEUE_TWO_MANAGER
    #启动接收队列管理器
    strmqm QUEUE_TWO_MANAGER
    #进入接收队列管理器
    runmqsc QUEUE_TWO_MANAGER
    #定义本地队列
    define ql(QUEUE_TWO)
    #定义接收通道
    define channel(ONE_TWO_CHL) chltype (RCVR) trptype (TCP)
    #定义java客户端连接通道
    define channel(ONE_TWO_CONN_CHL) CHLTYPE(SVRCONN) mcauser('mqm')  #创建服务器连接通道,mcauser为用户认证
    #修改监听器端口为9004
    alter listener(system.default.listener.tcp) trptype(tcp) port(9004)
    #启动监听器
    start listener(system.default.listener.tcp)
    

    备注:

    #启动监听器还可使用如下命令
    echo "start listener(system.default.listener.tcp)" | runmqsc QUEUE_ONE_MANAGER
    

    2.2 发送队列管理器

    发送队列管理器及相关队列、监听器创建如下:

    #创建发送队列管理器
    crtmqm QUEUE_ONE_MANAGER
    #启动发送队列管理器
    strmqm QUEUE_ONE_MANAGER
    #进入发送队列管理器
    runmqsc QUEUE_ONE_MANAGER
    #定义传输队列
    define qlocal(QUEUE_TR) usage (xmitq)
    #定义远程队列,即使发送时使用的队列
    define qremote(QUEUE_TWO) rname (QUEUE_TWO) rqmname(QUEUE_TWO_MANAGER) xmitq (QUEUE_TR)
    #定义传输通道,连接接收队列管理器的监听地址端口为127.0.0.1(9004)
    define channel(ONE_TWO_CHL) chltype(sdr) conname('127.0.0.1(9004)') xmitq(QUEUE_TR) trptype(tcp)
    #启动传输通道
    start channel(ONE_TWO_CHL)
    #定义java客户端连接通道
    define channel(ONE_TWO_CONN_CHL) CHLTYPE(SVRCONN) mcauser('mqm')  #创建服务器连接通道,mcauser为用户认证
    #修改监听器端口为9003
    alter listener(system.default.listener.tcp) trptype(tcp) port(9003)
    #启动监听器
    start listener(system.default.listener.tcp)
    
    

    三、使用示例

    这里以spring boot,从发送队列管理器发送消息到接收队列管理器为例。

    3.1 添加maven依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.3</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.dragon.study</groupId>
        <artifactId>spring-boot-websperemq</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-websperemq</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
            </dependency>
            <dependency>
                <groupId>javax.jms</groupId>
                <artifactId>javax.jms-api</artifactId>
                <version>2.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.ibm.mq</groupId>
                <artifactId>com.ibm.mq.allclient</artifactId>
                <version>9.1.1.0</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.62</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.12</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
    

    3.2 定义mq配置参数文件

    在application.yaml定义如下:

    raw:
      mq:
        host: localhost
        username: mqm
        password: root
        sendPort: 9003
        receivePort: 9004
        sendQueueManager: QUEUE_ONE_MANAGER
        receiveQueueManager: QUEUE_TWO_MANAGER
        connectChannel: ONE_TWO_CONN_CHL
        queue: QUEUE_TWO
        ccsid: 1208  #utf-8
        receiveTimeout: 2000
        charset: utf-8
    

    定义配置参数类RawMqParam.java:

    package com.dragon.study.springbootwebsperemq.rawMq.config;
    
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    import java.util.Hashtable;
    
    @Configuration
    @ConfigurationProperties(prefix = "raw.mq", ignoreInvalidFields = true)
    @Data
    public class RawMqParam {
        private String host;
        private String username;
        private String password;
        private int sendPort;
        private int receivePort;
        private String sendQueueManager;
        private String receiveQueueManager;
        private String connectChannel;
        private String queue;
        private int ccsid;
        private int receiveTimeout;
        private String charset;
    
        public Hashtable<String, Object> getSendCfg(){
            return buildCfg(sendPort);
        }
    
        public Hashtable<String, Object> getReceiveCfg(){
            return buildCfg(receivePort);
        }
    
        public Hashtable<String, Object> buildCfg(int port){
            Hashtable<String, Object> cfg = new Hashtable<>();
            cfg.put("hostname",host);
            cfg.put("port",port);
            cfg.put("userID",username);
            cfg.put("password",password);
            cfg.put("CCSID",ccsid);
            cfg.put("channel",connectChannel);
            return cfg;
        }
    }
    

    3.3 定义mq连接管理类

    mq连接管理类RawMqConfig.java如下:

    package com.dragon.study.springbootwebsperemq.rawMq.config;
    
    import com.ibm.mq.MQEnvironment;
    import com.ibm.mq.MQSimpleConnectionManager;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import javax.annotation.Resource;
    
    @Configuration
    public class RawMqConfig {
    
        @Resource
        private RawMqParam rawMqParam;
    
        //连接管理器,即是连接池,用于复用连接
        @Bean
        public MQSimpleConnectionManager receiveMqSimpleConnectionManager() {
            return buildMqSimpleConnectionManager(rawMqParam.getReceivePort());
        }
    
        //连接管理器,即是连接池,用于复用连接
        @Bean
        public MQSimpleConnectionManager sendMqSimpleConnectionManager() {
            return buildMqSimpleConnectionManager(rawMqParam.getSendPort());
        }
    
        MQSimpleConnectionManager buildMqSimpleConnectionManager(int port) {
            //初始化连接(若全局配置相同,可在此初始化,否则可直接在后续参数中动态指定)
    //        MQEnvironment.hostname = rawMqParam.getHost();
    //        MQEnvironment.port = port;
    //        MQEnvironment.userID = rawMqParam.getUsername();
    //        MQEnvironment.password = rawMqParam.getPassword();
    //        MQEnvironment.CCSID = rawMqParam.getCcsid();
    //        MQEnvironment.channel = rawMqParam.getConnectChannel();
    //        MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
    
            //创建连接池管理器
            MQSimpleConnectionManager cm = new MQSimpleConnectionManager();
            cm.setActive(MQSimpleConnectionManager.MODE_ACTIVE); //MODE_ACTIVE为缺省值,表示当前池为缺省连接管理器
            cm.setMaxConnections(10); //最大连接池数
            cm.setMaxUnusedConnections(5); //最大未使用连接池数
            MQEnvironment.setDefaultConnectionManager(cm);  //设置缺省连接池
            return cm;
        }
    }
    
    

    3.4 定义消息发送和接收服务类

    服务类RawMqService.java如下:

    package com.dragon.study.springbootwebsperemq.rawMq.service;
    
    import com.dragon.study.springbootwebsperemq.rawMq.config.RawMqParam;
    import com.ibm.mq.*;
    import com.ibm.msg.client.wmq.compat.base.internal.MQC;
    import lombok.SneakyThrows;
    import org.apache.tomcat.util.buf.HexUtils;
    import org.springframework.stereotype.Service;
    import javax.annotation.Resource;
    
    @Service
    public class RawMqService {
        @Resource
        private MQSimpleConnectionManager sendMqSimpleConnectionManager;
        @Resource
        private MQSimpleConnectionManager receiveMqSimpleConnectionManager;
        @Resource
        private RawMqParam rawMqParam;
    
        //队列管理器
        private MQQueueManager qm;
    
        /**
         * 发送消息
         * @param msg
         * @param correlationId 指定correlationId
         * @return
         */
        @SneakyThrows
        public byte[] sendMsg(String msg, byte[] correlationId) {
            //定义队列管理器
            MQQueueManager qm = null;
            //定义队列
            MQQueue queue = null;
            try {
                //初始队列管理器,使用默认配置
    //            qm = new MQQueueManager(rawMqParam.getSendQueueManager(), sendMqSimpleConnectionManager);
                //初始队列管理器,使用动态参数配置
                qm = new MQQueueManager(rawMqParam.getSendQueueManager(),rawMqParam.getSendCfg(), sendMqSimpleConnectionManager);
                //初始化队列
    //            MQC.MQOO_FAIL_IF_QUIESCING: 如果队列管理器停顿则取消息失败
    //            MQC.MQOO_INPUT_AS_Q_DEF:读取后消息移除队列
    //            MQC.MQOO_BROWSE:读取后消息仍保留在队列
    //            MQC.MQGMO_WAIT:队列没消息时等待,直到有消息才返回
    //            MQC.MQOO_INQUIRE:获取队列深度
    //            MQC.MQOO_INQUIRE:获取队列深度
                queue = qm.accessQueue(rawMqParam.getQueue(), MQC.MQOO_OUTPUT | MQC.MQPMO_NEW_MSG_ID | MQC.MQOO_FAIL_IF_QUIESCING);
                //初始化发送配置
                MQPutMessageOptions pmo = new MQPutMessageOptions();
                pmo.options = pmo.options + MQC.MQPMO_NEW_MSG_ID;  //每次发送前自动生成唯一消息id
                //创建消息
                MQMessage m = new MQMessage();
                m.format = MQC.MQFMT_STRING; //设置MQMD字段格式
    //            m.messageId = msgId == null ? MQC.MQMI_NONE : msgId.getBytes(rawMqParam.getCharset());
    //            m.messageId = MQC.MQMI_NONE;
                m.encoding = rawMqParam.getCcsid(); //设置编码与mq服务一致
                m.characterSet = rawMqParam.getCcsid(); //设置字符集与mq服务一致
                m.correlationId = correlationId;
                m.write(msg.getBytes(rawMqParam.getCharset()));  //写入消息体
                //发送消息
                queue.put(m, pmo);
                System.out.println("send, hex sendMsgId:"+ HexUtils.toHexString(m.messageId));
                return m.messageId;
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                close(queue, qm);
            }
            return null;
        }
    
        /**
         * 接收消息
         * @param correlationId 根据correlationId取消息
         * @param msgId 根据msgId取消息
         * @return
         */
        public String receiveMsg(byte[] correlationId, byte[] msgId) {
            //定义队列管理器
            MQQueueManager qm = null;
            //定义队列
            MQQueue queue = null;
            try {
                //初始队列管理器
                qm = new MQQueueManager(rawMqParam.getReceiveQueueManager(),rawMqParam.getReceiveCfg() ,receiveMqSimpleConnectionManager);
                queue = qm.accessQueue(rawMqParam.getQueue(), MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_INQUIRE | MQC.MQOO_FAIL_IF_QUIESCING);
                System.out.println("receiveQueue curDepth:"+queue.getCurrentDepth());
                MQMessage m = new MQMessage();
                m.format = MQC.MQFMT_STRING;
                m.encoding = rawMqParam.getCcsid(); //设置编码与mq服务一致
                m.characterSet = rawMqParam.getCcsid(); //设置字符集与mq服务一致
    
                MQGetMessageOptions gmo = new MQGetMessageOptions();
                gmo.waitInterval = MQC.MQWI_UNLIMITED;
                if (null != correlationId) {
                    gmo.matchOptions = MQC.MQMO_MATCH_CORREL_ID; //使用correlationId匹配响应消息
                    m.correlationId = correlationId;
                }else if(null != msgId) {
                    gmo.matchOptions = MQC.MQMO_MATCH_MSG_ID; //使用msgId匹配响应消息
                    m.messageId = msgId;
                }
                queue.get(m, gmo);
                System.out.println("receive, hex sendMsgId:"+ HexUtils.toHexString(m.messageId));
    
                byte[] bu = new byte[m.getMessageLength()];
                m.readFully(bu);
                String msg = new String(bu);
                return msg;
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                close(queue, qm);
            }
            return null;
        }
    
        //关闭队列和队列管理器,归还连接
        public void close(MQQueue q, MQQueueManager qm) {
            try {
                if (q != null && q.isOpen()) {
                    q.close();
                }
                if (qm != null) {
                    qm.disconnect();
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    3.5 定义其他相关类

    定义实体Stu.java:

    package com.dragon.study.springbootwebsperemq.mq.bean;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import java.io.Serializable;
    
    @Data
    @AllArgsConstructor
    public class Stu implements Serializable {
        private String  name;
    
        @Override
        public String toString() {
            return "Stu{" +
                    "name='" + name + '\'' +
                    '}';
        }
    }
    

    启动类SpringBootWebsperemqApplication.java如下:

    package com.dragon.study.springbootwebsperemq;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class SpringBootWebsperemqApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBootWebsperemqApplication.class, args);
        }
    }
    

    3.6 测试

    发送、接收消息测试如下:

    package com.dragon.study.springbootwebsperemq;
    
    import com.dragon.study.springbootwebsperemq.rawMq.service.RawMqService;
    import org.apache.tomcat.util.buf.HexUtils;
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import javax.annotation.Resource;
    
    @SpringBootTest
    class RawMqTests {
        @Resource
        private RawMqService rawMqService;
    
        @Test
        public void rawMsgTest() {
            byte[] correlationId = "001".getBytes();
            //发送消息,返回消息id
            byte[] msgId = rawMqService.sendMsg("hello1", correlationId);
            //查看消息id,byte数组是以16进制编码的
            String msgIdStr = HexUtils.toHexString(msgId);
            System.out.println(msgIdStr);
            //根据消息id获取消息
    //        String msg = rawMqService.receiveMsg(null, msgId);
            //根据correlationId获取消息
            String msg = rawMqService.receiveMsg(correlationId, null);
            System.out.println("receive msg:" + msg);
        }
    }
    
    
    展开全文
  • GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。  GroupId一般分为多个段,这里我只说两段,第一段为域,...

    GroupIdArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 

      GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。 
       
      比如我创建一个项目,我一般会将GroupId设置为cn.mht,cn表示域为中国,mht是我个人姓名缩写,ArtifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,在你创建Maven工程后,新建包的时候,包结构最好是cn.zr.testProj打头的,如果有个StudentDao[Dao层的],它的全路径就是cn.zr.testProj.dao.StudentDao

    展开全文
  • We are using IBM MQ 8.0.0.4 in our application and so we are planning on hosting the jars in our maven repository manager (Nexus OSS 2 in this case).What is the convention for the GAV for IBM MQ speci...

    We are using IBM MQ 8.0.0.4 in our application and so we are planning on hosting the jars in our maven repository manager (Nexus OSS 2 in this case).

    What is the convention for the GAV for IBM MQ specifically?

    The jars that are required are:

    commonservices.jar

    dhbcore.jar

    headers.jar

    jmqi.jar

    mqjms.jar

    pcf.jar

    mq.jar

    Nojndi.jar

    jndi.jar

    fscontext.jar

    providerutil.jar

    jms.jar

    connector.jar

    All of them up to mq.jar are IBM jars.

    Should I use the com.ibm group id?

    Or the com.ibm.mq group id?

    Or a mix - for instance the manifest for dhbcore.jar says com.ibm.disthub2

    What is the convention for the version number? Should I use 8.0.0.4 for all the ibm jars or should I take the version from the manifest?

    The version in the manifest is 8.0.0.4 in most of them but commonervices.jar and mqjms.jar say p800-004-151017. This still looks like 8.0.0.4 to me but looks like some non-maven snapshot convention.

    What are the conventions in this case? (I'm not looking for the general maven conventions but how they apply specifically to this use case).

    解决方案

    UPDATE:

    As of v9.0.4.0 IBM have pushed copies of the MQ Java client interfaces to the Central Repository under the com.ibm.mq GroupId. e.g.

    com.ibm.mq

    com.ibm.mq.allclient

    9.0.4.0

    ORIGINAL:

    At IBM MQ v8.0.0.3 and higher you can download a Java only client which includes a fewer number of jar files. This is packaged as a self extracting jar file. The latest v8 package can be downloaded on Fix Central using this link: IBM MQ JMS and Java 'All Client'

    Most of the previously separate jars are now included in the com.ibm.mq.allclient.jar.

    For IBM MQ Classes for Java you can find the list of files required on the Knowledge Center page "What is installed for IBM MQ classes for Java":

    Relocatable JAR files

    Within an enterprise, the following files can be moved to systems that need to run IBM MQ classes for Java

    applications:

    com.ibm.mq.allclient.jar

    com.ibm.mq.traceControl.jar

    For IBM MQ Classes for JMS you can find the list of files required on the Knowledge Center page "What is installed for IBM MQ classes for JMS":

    Relocatable JAR files

    Within an enterprise, the following files can be moved to systems that need to run IBM MQ classes for JMS:

    com.ibm.mq.allclient.jar

    com.ibm.mq.traceControl.jar

    jms.jar

    fscontext.jar

    providerutil.jar

    For version numbers I suggest you use the version number of the package they came from, in your example 8.0.0.4.

    展开全文
  • Active MQ 如何保证消息的可靠性简单熟悉Active MQ的可视化管理界面在普通java项目如何使用Active MQ添加jar包Queue模式消息生产者消费者Topic...进行封装在spring如何使用Active MQ在Spring boot如何使用Active MQ...
  • MQ

    千次阅读 2009-05-11 13:22:00
    转贴自 http://hi.baidu.com/javashmily/blog/category/Ibm%20Mq/index/0 MQQueueManager类介绍MQQueueManager java.lang.Object | *- com.ibm.mq.MQManagedObject | *- co
  • <groupId>com.aliyun.mq</groupId> <artifactId>mq-http-sdk</artifactId> <version>1.0.3 或与依赖项 <groupId>com.aliyun.mq</groupId> <artifactId>mq-http-sdk</artifactId> <version>1.0.3 ...
  • java使用jms操作webspheremq 文章目录java使用jms操作webspheremq一、简介二、准备2.1 接收队列管理器2.2 发送队列管理器2.3 消息类型三、使用示例3.1 添加maven依赖3.2 定义mq配置参数文件3.3 定义发送和接收...
  • MQ日志配置

    千次阅读 2017-05-07 17:08:49
    MQ 客户端日志在问题定位排查扮演着非常重要的角色,通过日志记录客户端运行过程的异常,能够帮助尽可能真实的还原某个时间点的异常场景,最终达到快速定位、修复 Bug 的目的。 TCP Java SDK 打印 MQ 客户端...
  • IBMMQ监听消息队列

    千次阅读 2019-10-19 21:00:00
    监听IBMMQ队列获取消息 ** IBMMQ发送和接收消息示例: pom.xml下载jar包: <dependency> <groupId>com.ibm.mq</groupId> <artifactId>com.ibm.mq.allclient</artifactId> ...
  • Rabbit MQ RabbitMQ是一个消息代理:它接受和转发消息。 你可以把它想象成一个邮局,RabbitMQ是邮箱,邮局和邮递员。 Rabbit MQ Tutorial 1 - Hello Rabbit MQ Rabbit MQ安装 Rabbit MQ Service运行 实现...
  • springboot使用MQ

    2020-02-24 09:17:44
    springboot使用MQ @author 李思文 ...现在pom文件加入依赖 <!-- MQ依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri...
  • Active MQ入门2,Spring Boot整合Active MQ

    千次阅读 2020-02-26 22:43:19
    Active MQ入门2,Spring Boot整合Active MQ 1、搭建Spring Boot项目 首先创建一个Spring Boot的项目,在pom文件加入: <parent> <groupId>org.springframework.boot</groupId> <artifactId...
  • IBM MQ JMS Spring组件 该存储库包含有助于向Spring开发人员提供IBM MQ JMS软件包的轻松配置的代码。 该库包含: 用于应用程序的mq-jms-spring-boot-starter ... < groupId>com.ibm.mq</ groupId
  • java mq 使用

    2020-09-24 15:57:44
    1、mq地址配置 2、pom.xml mq配置 <activemq-pool.version>5.15.0</activemq-pool.version> <!-- activemq --> <dependency> <groupId>org.apache.activemq</groupId> ...
  • ActivityMQ使用

    2019-09-10 19:11:39
    POM依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version>...
  • rocket-MQ

    2021-09-06 17:40:47
    Rocket-MQ消息队列使用说明 注意下文出现的大多都是由作者公司封装过一层 1.引入jar包 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-...
  • 记录给需要帮助的人~ step :1 pom.xml &lt;spring-framework.version&gt;3.2.3.RELEASE&lt;/spring-framework.version&gt;...mq.version&.../mq.version&...groupId&...
  • ActivityMQ集成到springmvc

    千次阅读 2017-05-21 10:36:28
     <groupId>activemq</groupId>  <artifactId>activemq-provider  <packaging>war  <version>0.0.1-SNAPSHOT  <name>activemq-provider Maven Webapp  <url>http://maven.apache.org</url>  ...
  • 消息队列Active mq在Maven项目的简单使用
  • MQ 入门实践

    2021-04-19 22:23:14
    MQ Message Queue,消息队列,FIFO 结构。 例如电商平台,在用户支付订单后执行对应的操作; 优点: 异步 削峰 解耦 缺点 增加系统复杂性 数据一致性 可用性 JMS Java Message Service,Java消息服务,类似 ...
  • MQ】Eclipse向RocketMQ发送和接收消息

    千次阅读 热门讨论 2017-06-03 17:49:27
    所以在这篇博客小编就向大家介绍一下mq的发送和接收。二、关于RocketMQ的一些术语 小编认为,只要是接触过MQ的朋友,基本不会对下面的术语陌生,其中, Producer  消息生产者,负责产生消息,一般由业务系统...
  • ibmmq java 实现

    2021-04-14 16:09:34
    groupId>com.ibm.mq</groupId> <artifactId>com.ibm.mq.allclient</artifactId> <version>9.1.1.0</version> </dependency> package com.tms.modules.sho
  • SpringBoot 连接 ibm mq

    千次阅读 2018-10-16 14:43:38
    有2方式操作ibm mq,第一种是IBM MQ Explorer(界面),第二种是MQSC(命令行) 我这里使用MQSC 在mq服务端操作 创建队列管理器 crtmqm -q ECIS_QM 其中ECIS_QM是队列管理器的名称 启动队列管理器 strmqm ECIS_...
  • groupId&gt;com.foriseland.fjf.mq&lt;/groupId&gt; &lt;artifactId&gt;fjf-mq-kafka&lt;/artifactId&gt; &lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt; &lt;/...
  • springboot代理MQ请求

    2020-09-19 12:12:56
    通过后端代理前端到mq的请求(stomp协议),主要是为了加权限验证。 这里的MQ指ActiveMQ。 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-...
  • Spring 整合 ibm mq

    千次阅读 2015-10-21 10:23:55
    由于ibm mq依赖的jar包不在maven的中央仓库,如果要在pom.xml依赖,需要先将jar安装进本地仓库或者私服 mvn install:install-file -Dfile=com.ibm.mq.defaultconfig.jar -DgroupId=com.ibm.mq -DartifactId=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,182
精华内容 4,872
热门标签
关键字:

mq中的groupid