activemq 发送消息,本地测试可以,放到服务器上之后报错,求大虾帮助。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activemq 发送消息,本地测试可以,放到服务器上之后报错,求大虾帮助。。相关的知识,希望对你有一定的参考价值。
javax.jms.JMSException: Cannot send, channel has already failed: tcp://10.30.174.19:1883
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1395)
at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1481)
at org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:516)
at com.inspur.forword.mq.Subscriber.sendMessage(Subscriber.java:27)
at com.inspur.forword.webservice.impl.EOMSForwordServiceImpl.forwordService(EOMSForwordServiceImpl.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.sun.xml.internal.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:235)
at com.sun.xml.internal.ws.server.InvokerTube$2.invoke(InvokerTube.java:135)
at com.sun.xml.internal.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:246)
at com.sun.xml.internal.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:82)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
没有在官方的faq上找到你这种情况,莫非你这种情况很少出现???
既然连接不到10.30.174.19 ,那你就ping一下服务器,看看是否能联通;然后在查看端口是否被占用!
在这里把官方的faq的errors发给你,你自己看一下吧!
http://activemq.apache.org/errors.html追问
activemq服务是启动着的。而且之前是可以访问的。
如果mq的消息队列中消息非常多,但是没有被消息队列移除,是不是会发生阻塞之类的问题?
敲重点啦!| Jmeter测试ActiveMQ服务
接受者从队列中获取消息,在成功接收消息之后需向队列应答成功。发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,都不会影响消息被发送到队列。
消息队列:
ActiveMQ是通过什么工作模式来进行的?如图:
客户端使用Message Product想指定的物理目标发送消息,客户端使用Message Consumer对象从指定的物理目标接收消息。消费者可以支持同步或异步消息接收。异步使用可通过向消费者注册 MessageListener 来实现。
将ACTIVE_HOME/activemq-all-5.2.0.jar文件复制到JMETER_HOME/lib目录中,jmeter在测试jms的时候会使用到activemq提供的jms的实现类,这些类并没有随jmeter一起分发,需要把这些类添加到jmeter的lib目录中。
○ QueueuConnectionFactory:MQ 连接工厂,此处填写:ConnectionFactory
○ JNDI name Request queue: 请求队列,输入配置文件的 MyQueuePertest
○ JNDI name Receive queue: 接收队列名,输入配置文件的 MyQueuePertest
○ Communiction Style: Request Only
○ Content: 消息内容,此处填写:jmeter jms point to point,pertest
○ Initial Context Factory: 输入配置文件的 org.apache.activemq.jndi.ActiveMQInitialContextFactory
○ JNDI Properties: org.apache.activemq.jndi.ActiveMQInitialContextFactory
测试JMS的PUB/SUB模型
○initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory
○ConnectionFactory:MQ 连接工厂,此处填写:ConnectionFactory
○Provider URL:tcp://127.0.0.1:61616
○Destination:MyTopicPertest
●查看发送者
说明:本文为柠檬班库里老师原创,转载需注明出处
可加多多老师微信
13327216354
或者扫描下方二维码
以上是关于activemq 发送消息,本地测试可以,放到服务器上之后报错,求大虾帮助。。的主要内容,如果未能解决你的问题,请参考以下文章