然后查找了,发现是我自己从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里面接收不到。后来才找到原因:
在调用了sendMessage();方法的前后,少写了这两行代码。而且前面写的时候少写了关于关闭connection连接的代码了。这个非常重要,否则会一直处于连接打开状态,如果JMS请求太多,会对JMS的性能造成致使影响。其中刚刚这个session.commit();这个方法后来才想到,这个的意思是对一个会话关闭提交才会真正的执行发送消息的动作。