我使用IBM MQ客户端远程连接队列管理器时,报错 AMQ 4043,百度基本找不到解决办法,唯一一个解决方法是这个(https://stackoom.com/question/1sroR),但是,按照这个方法执行以后,还是报AMQ 4043错,说明这个解决方法对我没用,于是再次排查新建的指令(linux服务器),最后发现没启用侦听,启用后,不在报4043错误;
要是用远程连接,首先你的队列管理器需要有服务器连接通道,并且通道是开启的;
设置侦听:(注意你的侦听器名称,端口号)
define listener(‘LISTENER.TCP’) trptype(TCP) port(1414) control(qmGR)
启动监听:(端口,队列管理器名称)
start listener
runmqlsr -t tcp -p 1414 -m QM001 &
启动通道(服务器连接通道,队列管理器名岑)
runmqchl -c DC.SVRCONN -m QM001
重启队列管理器,再次连接,成功。
————————————————
版权声明:本文为CSDN博主「Axi-ZYTao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
我使用IBM MQ客户端远程连接队列管理器时,报错 AMQ 4043,百度基本找不到解决办法,唯一一个解决方法是这个(https://stackoom.com/question/1sroR),但是,按照这个方法执行以后,还是报AMQ 4043错,说明这个解决方法对我没用,于是再次排查新建的指令(linux服务器),最后发现没启用侦听,启用后,不在保4043错误;要是用远程连接,首先你的队列管理器需要有服务器连接通道,并且通道是开启的;设置侦听:(注意你的侦听器名称,端口号)define listene
项目中有获取到服务器那边发来的base64图片数据在客户端进行显示,取到的数据使用
QPixmap::loadFromData(const QByteArray &buf, const char *format, Qt::ImageConversionFlags flags)
进行加载死活不行,整了好久最后发现发过来的数据包含了多余的东西
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ…
上面这个是接收到的数据的前面的数据,前面的
data:image/j
1.下载安装ActiveMQ
下载地址:http://activemq.apache.org/download-archives.html选择相应的版本,笔者选择的是:apache-activemq-5.9.0-bin.tar.gz
解压文件:
[wch@localhost ActiveMQ]$ tar -zxvf apache-activemq-5.9.0-bin.tar.g...
首先,我是在linux服务器上部署的MQ,以及使用指令新建的独立管理器QM001,然后使用本机的IBM MQ客户端远程连接,队列管理器名称,IP,端口均正确,发生AMQ4036报错,提示没有权限访问,其实就是远程连接时,添加用户标识这里有问题,所以产生了AMQ4036报错;
这种情况基本都是新建服务器连接通道时用户标识的指令写错了,更新一下就可以了;
先使用runmqsc进入对应队列管理器中,指令如下:
# runmqsc QM001
修改服务器远程通道相关属性:
# alter chl('DC.SVR
在用springboot整合activemq时,写了一个创建生产者的测试方法启动报错
这是因为导包错误,springboot在建项目时勾选activemq时导入的包不止一个。
在new ActiveMQConnectionFactory();时导错了包,导成了import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFacto...
首先确定好服务器连接通道是否正常,如SERVER_CHL;
修改其相关属性 :
ALTER CHL('SERVER_CHL') CHLTYPE(SVRCONN) MCAUSER('mqm')
以上的意思是为其创建一个mqm的用户标识。
然后再连接该远程队列管理器时,在属性用户标识中填写 mqm
可以使用ActiveMQ的延迟发送功能来实现延迟发送消息。具体实现方式是在消息的属性中设置"AMQ_SCHEDULED_DELAY"属性,该属性的值为延迟的毫秒数。例如,如果要延迟发送消息10秒钟,则可以设置"AMQ_SCHEDULED_DELAY"属性的值为10000。以下是一个示例代码:
import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;
public class DelayedMessageProducer {
public static void main(String[] args) throws Exception {
// 创建连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// 创建连接
Connection connection = connectionFactory.createConnection();
// 启动连接
connection.start();
// 创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建目的地
Destination destination = session.createQueue("test.queue");
// 创建生产者
MessageProducer producer = session.createProducer(destination);
// 创建消息
TextMessage message = session.createTextMessage("Hello, world!");
// 设置延迟发送时间为10秒钟
message.setLongProperty("AMQ_SCHEDULED_DELAY", 10000);
// 发送消息
producer.send(message);
// 关闭连接
connection.close();