Apache ActiveMQ 不作为的问题
2015-11-06 19:48
411 查看
老早以前就听到activeMQ,但一直没有弄过,今天在网上找了下资料倒腾,结果敲完代码就遇到的第一个错误就是:javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616.
然后查找了,发现是我自己从apache下载下来的activeMQ 没有启动服务:
D:\work\apache-activemq-5.10.1\bin\win64\activemq.bat,我用的是5.10.1.版本的用这个activemq.bat启动服务,问题解决。但是后面又发现我的sender.java类,可以正常运行,而且通过创建一个新的队列,也可以在Receiver.java里面接收到,但就是Sender.java发出来的消息,在Receiver.java里面接收不到。后来才找到原因:
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
session.commit();
在调用了sendMessage();方法的前后,少写了这两行代码。而且前面写的时候少写了关于关闭connection连接的代码了。这个非常重要,否则会一直处于连接打开状态,如果JMS请求太多,会对JMS的性能造成致使影响。其中刚刚这个session.commit();这个方法后来才想到,这个的意思是对一个会话关闭提交才会真正的执行发送消息的动作。
然后查找了,发现是我自己从apache下载下来的activeMQ 没有启动服务:
D:\work\apache-activemq-5.10.1\bin\win64\activemq.bat,我用的是5.10.1.版本的用这个activemq.bat启动服务,问题解决。但是后面又发现我的sender.java类,可以正常运行,而且通过创建一个新的队列,也可以在Receiver.java里面接收到,但就是Sender.java发出来的消息,在Receiver.java里面接收不到。后来才找到原因:
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
session.commit();
在调用了sendMessage();方法的前后,少写了这两行代码。而且前面写的时候少写了关于关闭connection连接的代码了。这个非常重要,否则会一直处于连接打开状态,如果JMS请求太多,会对JMS的性能造成致使影响。其中刚刚这个session.commit();这个方法后来才想到,这个的意思是对一个会话关闭提交才会真正的执行发送消息的动作。
相关文章推荐
- apache多站点配置
- 架构设计:系统间通信(11)——RPC实例Apache Thrift 上篇
- linux apache服务器配置虚拟主机
- apache+php安装 配置
- Apache 性能优化
- [user@kafka.apache.org]Errors after reboot on single node setup
- MyBatis典型的错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- zf2 apache跳转 404 not found
- Apache Hadoop安装
- Apache禁止用IP非法域名访问网站
- Apache WEB Server WIN版下载地址,貌似新手不容易找到
- apache中MaxClients和ServerLimit参数介绍
- apache服务器如何配置多站点
- win7(64位)php5.5-Apache2.4-mysql5.6环境安装
- CentOS6.5下安装Apache2.4+PHP5.6
- Apache Prefork、Worker和Event三种MPM分析
- Apache Kafka源码分析 - kafka controller
- 错误: 找不到或无法加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode 问题解决
- Apache Kafka源码分析 - ReplicaStateMachine
- Apache Client使用说明第一章(第二部分)