精华内容
下载资源
问答
  • 2018-11-17 11:47:10

    最近用到mq,需要配置一些参数,开始时xml配置方式的,用的jar包是spring-rabbit 1.4.5.RELEASE,配置文件如下:

    	<bean id="pushHandler" class="具体实现类路径/com.test"/>
    	<!-- 声明Queue并设定Queue的名称 -->
    	<bean id="devicePropertyQueue" class="org.springframework.amqp.core.Queue">
    		<constructor-arg name="name" value="devicePropertyQueue" />
    		<constructor-arg name="durable" value="true" />
    		<constructor-arg name="exclusive" value="false" />
    		<constructor-arg name="autoDelete" value="false" />
    	</bean>
    	
    	<!-- 声明Exchange的类型为direct并设定Exchange的名称 -->
    	<bean id="deviceProperty.direct" class="org.springframework.amqp.core.DirectExchange">
    		<constructor-arg value="deviceProperty.direct"></constructor-arg>
    	</bean>
    	
    	<!-- Topic类型交换机通过模式匹配分配消息的routing-key属性。将路由键和某个模式进行匹配,此时队列需要绑定到一个模式上。 它将routing-key和binding-key的字符串切分成单词。这些单词之间用点隔开。它同样也会识别两个通配符:符号“#”和符号“*”。 
    		#匹配0个或多个单词,*匹配不多不少一个单词。 例如,binding key:*.stock.#匹配routing key: usd.stock和eur.stock.db,但是不匹配stock.nana。 
    		例如,“audit.#”能够匹配到“audit.irs.corporate”,但是“audit.*”只会匹配到“audit.irs”。 如果没有队列绑定在交换机上,则发送到该交换机上的消息会丢失。 
    		一个交换机可以绑定多个队列,一个队列可以被多个交换机绑定。 持久性:如果启用,交换机将会在server重启前都有效。 自动删除:如果启用,那么交换机将会在其绑定的队列都被删掉之后删除自身。 
    		惰性:如果没有声明交换机,那么在执行到使用的时候会导致异常,并不会主动声明。 -->
    	<!-- 通过Binding来判定Queue、Exchange、routingKey -->
    	<!-- 其中构建Binding的参数1是Queue,参数2是Exchange,参数3是routingKey -->
    	<bean id="devicePropertyQueueBind" class="org.springframework.amqp.core.Binding">
    		<constructor-arg name="destination" value="devicePropertyQueue" />
    		<constructor-arg name="destinationType" value="QUEUE" />
    		<constructor-arg name="exchange" value="deviceProperty.direct" />
    		<constructor-arg name="routingKey" value="push_device_property" />
    		<constructor-arg name="arguments">
    			<null />
    		</constructor-arg>
    	</bean>
    
    	<!-- 用于消息的监听的代理类MessageListenerAdapter -->
    	<bean id="myDevicePropertyListenerAdapter"
    		class="org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter">
    		<constructor-arg ref="pushHandler" />
    		<property name="defaultListenerMethod" value="handleMessage"></property>
    		<property name="messageConverter" ref="messageConverter"></property>
    	</bean>
    	<!-- 用于消息的监听的容器类SimpleMessageListenerContainer,对于queueName的值一定要与定义的Queue的值相同 -->
    	<bean id="devicePropertyListenerContainer"
    		class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">
    		<property name="queueNames">
    			<array>
    				<value>devicePropertyQueue</value>
    			</array>
    		</property>
    		<property name="connectionFactory" ref="connectionFactory"></property>
    		<property name="messageListener" ref="myDevicePropertyListenerAdapter"></property>
    		<property name="concurrentConsumers" value="50"></property>
    		<property name="prefetchCount" value="200"></property>
    	</bean>

    感觉方式太low了,xml文件就是繁琐,后面改了一下,用spring-rabbit 2.0.5.RELEASE以上的版本,配置方式

    配置文件如下:

    mq.queue = push_device_property1
    mq.exchange = deviceProperty.direct1
    mq.routingkey = push_device_property1
    mq.durable = true
    mq.exclusive = false
    mq.autoDelete = false

    java里面配置如下:

        @RabbitListener(bindings = {
                @QueueBinding(value = @Queue(value = "${mq.queue}", durable = "${mq.durable}", autoDelete = "${mq.autoDelete}", exclusive = "${mq.exclusive}"),
                        exchange = @Exchange(name = "${mq.exchange}"), key = "${mq.routingkey}")})
        @RabbitHandler

     

    更多相关内容
  • JAVA连接IBM MQ代码

    2019-01-25 11:34:27
    JAVA连接IBM MQ,具体的详细说明,请再csdn上面搜索JAVA连接IBM MQ关键词
  • Java调用MQ队列

    2021-02-12 19:09:42
    IBM MQ 6.0中设置两个队列,(远程队列、通道之类都不设置)。队列管理器是XIR_QM_1502队列名称是ESBREQIP地址是10.23.117.134(远程的一台电脑,跟我的电脑不在一个局域网内)端口1414CCSID 1208程序如下,发送线程两个...

    IBM MQ 6.0中设置两个队列,(远程队列、通道之类都不设置)。

    队列管理器是XIR_QM_1502

    队列名称是ESBREQ

    IP地址是10.23.117.134(远程的一台电脑,跟我的电脑不在一个局域网内)

    端口1414

    CCSID 1208

    程序如下,发送线程两个,接收线程一个。接收完毕后就结束。

    /*

    * 创建日期 2012-7-10

    *

    * TODO 要更改此生成的文件的模板,请转至

    * 窗口 - 首选项 - Java - 代码样式 - 代码模板

    */

    package yerasel;

    /**

    * @author Fenglb E-mail:56553655@163.com

    * @version 创建时间:2009-4-30 下午04:13:38 类说明

    */

    import java.io.IOException;

    import com.ibm.mq.MQC;

    import com.ibm.mq.MQEnvironment;

    import com.ibm.mq.MQException;

    import com.ibm.mq.MQGetMessageOptions;

    import com.ibm.mq.MQMessage;

    import com.ibm.mq.MQPutMessageOptions;

    import com.ibm.mq.MQQueue;

    import com.ibm.mq.MQQueueManager;

    interface SomeConstants {

    String qManager = "XIR_QM_1502";//"XIR_QM"; //QueueManager name

    String qName = "ESBREQ";// Queue Name

    String strIP = "10.23.117.134";//"10.24.28.139";//"10.24.28.102";

    int iPort = 1502;//1414;

    String strChl = "SYSTEM.DEF.SVRCONN";// Server-Connection Channel

    int iCCSID = 1208;

    }

    class Sender implements Runnable, SomeConstants {

    public void run() {

    sendMessage();

    }

    public void sendMessage() {

    String name = Thread.currentThread().getName();

    System.out.println("进入线程" + name);

    MQQueueManager qMgr = null;

    // configure connection parameters

    MQEnvironment.hostname = strIP;

    // Server name or IP

    MQEnvironment.port = iPort;

    MQEnvironment.channel = strChl;

    MQEnvironment.CCSID = iCCSID;

    // java程序连接mq的方式有两种,一是客户机方式,一是绑定方式,

    // 默认是客户机方式,当mq部署在本地的时候,就需要用绑定方式

    // 本机IP是10.24.28.139连接10.23.117.134的时候不需要下句

    //MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,

    //MQC.TRANSPORT_MQSERIES_BINDINGS);

    // Create a connection to the QueueManager

    System.out.println(name + " Connecting to queue manager: " + qManager);

    try {

    qMgr = new MQQueueManager(qManager);

    // Set up the options on the queue we wish to open

    int openOptions = MQC.MQMT_REQUEST | MQC.MQPMO_NEW_MSG_ID

    | MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING

    | MQC.MQOO_INPUT_AS_Q_DEF;

    // Now specify the queue that we wish to open and the open options

    System.out.println(name + " Accessing queue: " + qName);

    MQQueue queue = qMgr.accessQueue(qName, openOptions);

    // Define a simple WebSphere MQ Message ...

    // Specify the default put message options

    MQPutMessageOptions pmo = new MQPutMessageOptions();

    // Put the message to the queue

    System.out.println(name + " Sending a message...");

    MQMessage msg = new MQMessage();

    msg.messageId = "MSGID".getBytes();

    msg.messageType = MQC.MQMT_REQUEST;

    msg.replyToQueueName = "ESBREQ";

    // 在此测试一下 mq 的传输次列

    for (int j = 1; j 

    msg.messageSequenceNumber = j;

    // write some text in UTF8 format

    try {

    String str = "Salemetsizbe Yerasel";

    str = str + " " + j;

    msg.writeUTF(str);

    queue.put(msg, pmo);

    msg.clearMessage();

    System.out.println(name + " putting the message... " + j);

    } catch (MQException mqe) {

    mqe.printStackTrace();

    break;

    } catch (IOException e1) {

    e1.printStackTrace();

    }

    }

    qMgr.commit();

    System.out.println(name + " Done!");

    System.out.println("==========");

    System.out.println("");

    } catch (MQException e) {

    e.printStackTrace();

    }

    }

    }

    class Receiver implements Runnable, SomeConstants {

    public void run() {

    recvMessage();

    }

    public void recvMessage() {

    String name = Thread.currentThread().getName();

    try {

    Thread.sleep(1000);

    MQQueueManager qMgr = null;

    System.out.println("进入线程" + name);

    System.out.println(name + " Connecting to queue manager: "

    + qManager);

    qMgr = new MQQueueManager(qManager);

    // 设置将要连接的队列属性

    // Note. The MQC interface defines all the constants used by the

    // WebSphere MQ Java programming interface

    // (except for completion code constants and error code constants).

    // MQOO_INPUT_AS_Q_DEF:Open the queue to get messages using the

    // queue-defined default.

    // MQOO_OUTPUT:Open the queue to put messages.

    int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT

    | MQC.MQOO_INQUIRE;

    // Now get the message back again. First define a WebSphere MQ

    // message to receive the data

    MQMessage rcvMessage = new MQMessage();

    // Specify default get message options

    MQGetMessageOptions gmo = new MQGetMessageOptions();

    gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;// Get messages

    // under sync point

    // control(在同步点控制下获取消息)

    gmo.options = gmo.options + MQC.MQGMO_WAIT; // Wait if no messages

    // on the

    // Queue(如果在队列上没有消息则等待)

    gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;// Fail if

    // Qeue

    // Manager

    // Quiescing(如果队列管理器停顿则失败)

    gmo.waitInterval = 1000; // Sets the time limit for the

    // wait.(设置等待的毫秒时间限制)

    System.out.println(name + " Accessing queue: " + qName);

    MQQueue queue = qMgr.accessQueue(qName, openOptions);

    int depth = 0;

    // Get the message off the queue.

    System.out.println("... " + name + " getting the message back again");

    for (;;) {

    try {

    queue.get(rcvMessage, gmo);

    System.out.println(" ID: "

    + (new String(rcvMessage.messageId)).trim()

    + " Num: " + rcvMessage.messageSequenceNumber

    + " Type: " + rcvMessage.messageType + " Flag: "

    + rcvMessage.messageFlags);

    // And display the message text...

    String msgText = rcvMessage.readUTF();

    System.out.println("The message is: " + msgText);

    rcvMessage.clearMessage();

    // Break if no MSG left in queue

    depth = queue.getCurrentDepth();

    if (depth == 0)

    break;

    } catch (MQException mqe) {

    mqe.printStackTrace();

    break;

    // null;

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    // Close the queue

    System.out.println(name + " Closing the queue");

    queue.close();

    // Disconnect from the QueueManager

    System.out.println(name + " Disconnecting from the Queue Manager");

    qMgr.disconnect();

    System.out.println(name + " Done!");

    System.out.println("==========");

    System.out.println("");

    } catch (MQException ex) {

    System.out

    .println("A WebSphere MQ Error occured : Completion Code "

    + ex.completionCode + " Reason Code "

    + ex.reasonCode + ex.getMessage());

    } catch (InterruptedException e1) {

    e1.printStackTrace();

    }

    }

    }

    public class MQTest {

    public static void main(String args[]) {

    /*

    * MQTest first = new MQTest(); first.sendMessage();

    * first.recvMessage();

    */

    Sender sender = new Sender();

    Thread senderThread = new Thread(sender);

    senderThread.start();

    senderThread.setName("Sender");

    Thread senderThread2 = new Thread(sender);

    senderThread2.start();

    senderThread2.setName("Sender2");

    Receiver recv = new Receiver();

    Thread recvThread = new Thread(recv);

    recvThread.start();

    recvThread.setName("Receiver");

    // Receiver recv = new Receiver();

    // new Thread(recv).start();

    }

    }

    运行结果如下:

    进入线程Sender2

    进入线程Sender

    Sender2 Connecting to queue manager: XIR_QM_1502

    Sender Connecting to queue manager: XIR_QM_1502

    Sender2 Accessing queue: ESBREQ

    Sender2 Sending a message...

    Sender Accessing queue: ESBREQ

    Sender Sending a message...

    Sender2 putting the message... 1

    Sender putting the message... 1

    Sender2 putting the message... 2

    Sender putting the message... 2

    Sender2 putting the message... 3

    Sender putting the message... 3

    Sender2 putting the message... 4

    Sender putting the message... 4

    Sender2 Done!

    ==========

    Sender Done!

    ==========

    进入线程Receiver

    Receiver Connecting to queue manager: XIR_QM_1502

    Receiver Accessing queue: ESBREQ

    ... Receiver getting the message back again

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 1

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 1

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 2

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 2

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 3

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 3

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 4

    ID: MSGID Num: 1 Type: 1 Flag: 0

    The message is: Salemetsizbe Yerasel 4

    Receiver Closing the queue

    Receiver Disconnecting from the Queue Manager

    Receiver Done!

    ==========

    展开全文
  • JAVA 调用MQ

    2021-02-26 10:32:54
    前提:MQ服务器端创建队列管理器:QueueManager队列:XML.IN服务器连接通道:SYSTEM.ADMIN.SVRCONN监听器监听1414端口。package mq;import com.ibm.mq.MQC;import com.ibm.mq.MQEnvironment;import ...

    前提:MQ服务器端创建

    队列管理器:QueueManager

    队列:XML.IN

    服务器连接通道:SYSTEM.ADMIN.SVRCONN

    监听器监听1414端口。

    package mq;

    import com.ibm.mq.MQC;

    import com.ibm.mq.MQEnvironment;

    import com.ibm.mq.MQGetMessageOptions;

    import com.ibm.mq.MQMessage;

    import com.ibm.mq.MQPutMessageOptions;

    import com.ibm.mq.MQQueue;

    import com.ibm.mq.MQQueueManager;

    /**

    * 测试调用MQ

    *

    * @author Administrator

    *

    */

    public class TestMQ {

    /**

    * 队列管理器

    */

    private static final String MQ_QUEUE_MANAGER = "QueueManager";

    /**

    * 队列

    */

    private static final String MQ_QUEUE = "XML.IN";

    /**

    * 通道

    */

    private static final String MQ_CHANNEL = "SYSTEM.ADMIN.SVRCONN";

    /**

    * IP

    */

    private static final String MQ_HOST = "localhost";

    /**

    * 端口

    */

    private static final int MQ_PORT = 1414;

    private MQQueueManager qMgr;

    /**

    * 测试

    * @param args

    */

    public static void main(String[] args) {

    TestMQ test = new TestMQ();

    test.getConnMQManager();

    test.sendMessage("1111111");

    test.receiveMsg();

    }

    /**

    * 发送消息到MQ

    * @param message

    */

    public void sendMessage(String message) {

    MQQueue mqQueue = null;

    try {

    // 建立连接

    int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT| MQC.MQOO_INQUIRE;

    mqQueue = qMgr.accessQueue(MQ_QUEUE, openOptions, null, null, null);

    MQMessage msg = new MQMessage();

    msg.format = MQC.MQFMT_STRING;

    msg.characterSet = 1381;

    msg.writeObject(message);

    MQPutMessageOptions pmo = new MQPutMessageOptions();

    // 设置消息用不过期

    msg.expiry = -1;

    // 将消息放入队列

    mqQueue.put(msg, pmo);

    } catch (Exception e) {

    // TODO: handle exception

    e.printStackTrace();

    } finally{

    if(mqQueue!=null){

    try {

    mqQueue.close();

    } catch (Exception e2) {

    // TODO: handle exception

    e2.printStackTrace();

    }

    }

    }

    }

    /**

    * 读取MQ消息

    */

    public void receiveMsg(){

    MQQueue mqQueue = null;

    try {

    // 建立连接

    int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT| MQC.MQOO_INQUIRE;

    mqQueue = qMgr.accessQueue(MQ_QUEUE, openOptions, null, null, null);

    // 队列深度

    int depth = mqQueue.getCurrentDepth();

    System.out.println("当前队列深度为:"+depth);

    while (depth-->0){

    // 要读取的消息

    MQMessage msg = new MQMessage();

    MQGetMessageOptions mqGet = new MQGetMessageOptions();

    mqQueue.get(msg, mqGet);

    System.out.println("消息的大小为:"+msg.getDataLength());

    System.out.println("消息的内容为:"+msg.readObject());

    }

    } catch (Exception e) {

    // TODO: handle exception

    e.printStackTrace();

    } finally{

    if(mqQueue!=null){

    try {

    mqQueue.close();

    } catch (Exception e2) {

    // TODO: handle exception

    e2.printStackTrace();

    }

    }

    }

    }

    /**

    * 获取连接

    */

    public void getConnMQManager() {

    MQEnvironment.hostname = MQ_HOST;

    MQEnvironment.channel = MQ_CHANNEL;

    MQEnvironment.CCSID = 1381; // 字符编码

    MQEnvironment.port = MQ_PORT;

    try {

    qMgr = new MQQueueManager(MQ_QUEUE_MANAGER);

    } catch (Exception e) {

    // TODO: handle exception

    e.printStackTrace();

    }

    }

    /**

    * 关闭连接

    */

    public void closeConnMQManager() {

    if (qMgr != null) {

    try {

    qMgr.close();

    } catch (Exception e) {

    // TODO: handle exception

    e.printStackTrace();

    }

    }

    }

    }对于报以下错误的可参考http://www-01.ibm.com/support/docview.wss?uid=swg21636532 MQJE001:发生 MQException:完成码 2,原因 2035 MQJE036:队列管理器拒绝连接尝试 MQJE001:完成码 2,原因 2035 com.ibm.mq.MQException: MQJE001:完成码 2,原因 2035

    展开全文
  • Linux配置Java环境及MQ集群部署验证 一、Linux配置java环境 1)查看自带jdk版本信息 java -version 2) 更换jdk版本为1.8 更换不需要删除之前的。此处设置的jdk不对虚拟机整体生效,仅仅对当前用户生效。 首先是...

    消息中间件入门

    一、Linux配置java环境

    1)查看自带jdk版本信息

    java -version

    在这里插入图片描述
    2) 更换jdk版本为1.8
    更换不需要删除之前的。此处设置的jdk不对虚拟机整体生效,仅仅对当前用户生效。

    1. 首先是下载官方jdk包

    Oracle官网地址:点击下载:
    在这里插入图片描述
    2. windows系统上传至linux服务器

    下载FileZilla软件,通过sfcp打开,可实现拖拽,十分方便。(也可以使用Xshell和Xftp)
    FileZilla软件下载地址: FileZilla官网:点击下载
    借用sftp连接效果如图:
    在这里插入图片描述

    1. 完成jar上传至Linux后 使用 tar -zxvf 安装包名称 解压即可
     具体的解压目录,可自由设置。一般放到宿主目录 /usr/java
    

    在这里插入图片描述

    1. 执行以下命令即可实现jdk版本更改只对当前用户生效
      依次执行下边三个步骤:第一步编辑文件,第二步文件追加配置,第三步配置文件生效
      ~表示当前用户,~~/.bash_profile这种写法表示只在当前用户下使用环境变量生效。
    
    vim  ~/.bash_profile 
    
    ##JAVA_HOME CLASSPATH PATH
    export JAVA_HOME="/usr/java/jdk1.8.0_301"  
    export CLASSPATH=".:${JAVA_HOME}/lib"
    export PATH="${JAVA_HOME}/bin:$PATH"
    
    source ~/.bash_profile 
    

    如果需要除当前用户外,整个环境的jdk都置为1.8 请修改 /etc/profile文件。

    vi命令不会使用的可参考下方步骤:
    下方既有详细的操作,同时也是对linux服务器下的所有用户生效(更改 /etc/profile)。
    在这里插入图片描述
    辅助学习,推荐文章:

    1. 配置jdk:
    https://blog.csdn.net/woainiqazwsx123/article/details/80356345
    
    1. jdk安装位置:
    https://blog.csdn.net/wjx_jasin/article/details/104707473/
    
    1. 验证 java -version

    在这里插入图片描述

    二、部署RocketMQ集群

    1、下载对应mq版本rocketMQ官网:点击下载
    在这里插入图片描述

    2、下载后解压缩,命令tar -zxvf
    3、下载后进入 xxxx/conf/xxx修改对应的namesrv.properties及broker.properties 文件都在此文件夹下,linux同理.
    安装包下的:
    在这里插入图片描述
    linux下的:
    在这里插入图片描述
    上图2m-nos lave 目录下的broker配置文件
    在这里插入图片描述
    mqnamesrv.properties配置文件仅配置监听端口即可。
    在这里插入图片描述

    配置简单解析:
    在这里插入图片描述
    namesrv配置文件一般不需要修改
    在这里插入图片描述

    4、启动顺序
    类似于kafka集群启动顺序,kafka集群先启动zk后启动kafka,先启动nameserver节点,后启动broker节点
    命令不要照搬,节点命名不一致,明白命令格式即可,灵活使用tab键补全功能.

    启动namesrv命令:
    在这里插入图片描述

    启动broker命令:
    在这里插入图片描述

    5、验证

    1) jps

    在这里插入图片描述

    2) sh mqadmin clusterlist -n nameserverip:端口 看到下方管理的broker节点即可
    在这里插入图片描述

    3)停止服务命令
    在这里插入图片描述

    展开全文
  • 描述了java程序代码去访问MQ的SSL加密的通道。如何配置JKS,如何配置MQ服务器的SSL秘钥库,如何配置证书制作证书和秘钥库。主要是如何编写java代码去访问SSL通道并取到数据。
  • JAVA实现MQ发送接收消息详解 MQ配置文档 MQ配置
  • IBM MQ经常被一些政府公共部门,银行等企业用来做数据传输和报文收发,在互联网应用的开发中较少见到,资源为MQjava 代码
  • MQ队列管理器,队列,通道的配置和使用,包含编写Java程序来实现消息的发送。
  • java代码利用本地的mq配置,发送消息。从A队列管理至B队列管理器。
  • java连接MQ

    2017-10-27 11:16:06
    java连接mq 连接通道,打开队列获取消息,提交事务;打开队列发送消息,设置消息头。
  • 采用MQ API方式通信需引入com.ibm.mq.jar包;客户机模式代码:/*** @modified by actorai E-...采用client(客户机模式)方式(另一种是绑定服务器方式)* 此方法类似于MQ Client连接 MQ Server,需要进行相应的服务器连...
  • 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> ...
  • Java连接MQ的实例

    2021-03-12 10:46:06
    package cjf.mq.mqclient;import com.ibm.mq.MQC;import com.ibm.mq.MQEnvironment;import com.ibm.mq.MQException;import com.ibm.mq.MQGetMessageOptions;import com.ibm.mq.MQMessage;import ...
  • Java连接IBM MQ

    2021-03-08 00:38:07
    package ...import java.io.IOException;import java.io.UnsupportedEncodingException;import com.ibm.mq.MQEnvironment;import com.ibm.mq.MQException;import com.ibm.mq.MQGetMessageOption...
  • 如果是通过JAVA将消息写入到MQ,再通过JAVA去读取消息,采用MQMessage读消息的方法readUTF()去读取的时候,就不会报错,可以正常读出来。如果采用在MQ资源管理器中插入测试消息或者是通过另外一台MQ服务器往当前MQ...
  • JAVA连接IBM MQ

    2021-04-17 03:35:55
    importjava.text.SimpleDateFormat;importjava.util.Date;importsms.util.UuidUtil;importcom.ibm.mq.MQC;importcom.ibm.mq.MQEnvironment;importcom.ibm.mq.MQException;importcom.ibm.mq.MQGetMessageOptio...
  • 高级JAVA开发 MQ部分

    千次阅读 2019-05-15 02:18:43
    高级JAVA开发 MQ部分MQMQ的作用、为什么要用MQ常见的MQ的优缺点使用MQ带来的问题以及处理办法MQ带来的问题列举消息重复消费(幂等)问题消息丢失问题消息顺序性问题消息过期丢失、大量积压等问题如何保证MQ高可用性...
  • 配置集群本文描述在MQ Exporler 配置集群的方法1.新建3个队列管理器,分别为QM1,QM2,QM3(这三个队列管理器可以在不同的主机,不同环境上)2.在MQ Exporler 上添加这三个队列管理器,确保连接通畅3.在“队列管理器...
  • packagecom.xxx.channe.config;importorg.springframework.amqp.core.Binding;importorg.springframework.amqp.core.BindingBuilder;importorg.springframework.amqp.core.DirectExchange;importorg.springframework...
  • JAVA如何获取mq 发送的信息获取信息时报错:MQJE001: 完成代码为“2”,原因为“2045”。A WebSphere MQ error occurred : Completion code 2 Reason code 2045下面是我的测试环境队列管理器和队列配置通道配置代码...
  • IBMMQ配置SSL连接

    2018-08-30 14:30:08
    手把手教你怎么配置IBM WEBSPHERE MQ通过SSL连接,附详细步骤和实例代码
  • java连接ibm mq

    2021-02-12 17:14:55
    首先 打开 IBM websphere MQ 管理器 添加一个队列管理器 名称 叫MyTest在队列管理气中的队列文件夹下 新建一个本地队列名称叫LOCALQUEUE在高级-》通道 下新建一个服务器连接通道 名称叫:SERVERCONN在mytest右键 ...
  • 我是MQ programmimg的新手。根据我的要求,我试图将示例XML消息放入队列中,并期望从响应队列返回响应。...通过java代码关闭MQ通道错误:Process(12908.13579) User(abc) Program(amqrmppa)Host(hostname)AMQ92...
  • 第四步:配置class文件以上就是基本配置,关于主要地方加以了注释,关于经常遇到的2035错误主要是因为权限报错,windows版的mq就把连接认证关闭,然后连接用户确认是mqm用户组的用户即可,目前这两种可能性排除可以...
  • Java远程连接IBM MQ

    2021-02-27 16:25:07
    需要在mq服务器上新建一个队列管理器、一个发送队列、一个接收队列、一个服务器通道2.启动队列管理器(SEND)strmqm SEND--启动监听(SL)runmqlsr -m SL-p 1414 -t tcp &--用户交互管理界面程序runmqscSEND--创建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,527
精华内容 28,210
关键字:

java配置mq

java 订阅