我的spring上下文文件中有以下设置。
"PowerEventQueue"
“ $ {power.messagebrokerurl}”是tcp:// localhost:61616,即在计算机上本地运行的JMS activemq。
App Server正在侦听此activemq jms,当jms断开时,应用服务器会显示以下消息,这是正确的,因为JMS实际上已关闭,并且它试图每5秒查看一次它是否启动。
WARN DefaultMessageListenerContainer:844 - Setup of JMS message listener invoker failed for destination 'queue://PowerEventQueue' - trying to recover. Cause: The *Consumer* is closed
Could not refresh JMS Connection for destination 'queue://PowerEventQueue' - retrying in 5000 ms. Cause: Could not connect to broker URL: tcp://localhost:61616. Reason: java.net.ConnectException: Connection refused: connect
现在,当我重新启动JMS时,应用服务器成功连接到它并显示以下消息。
INFO DefaultMessageListenerContainer:893 - Successfully refreshed JMS Connection
WARN CachingConnectionFactory:301 - Encountered a JMSException - resetting the underlying JMS Connection
现在,当我再次关闭JMS服务器时,appserver而不是显示连接被拒绝,将显示以下消息。
WARN DefaultMessageListenerContainer:844 - Setup of JMS message listener invoker failed for destination 'queue://PowerEventQueue' - trying to recover. Cause: The Session is closed
INFO CachingConnectionFactory:291 - Established shared JMS Connection: ActiveMQConnection {id=ID:ap-pun-ws0430-53381-1437557704588-0:28,clientId=null,started=false}
ERROR DefaultMessageListenerContainer:909 - Could not refresh JMS Connection for destination 'queue://PowerEventQueue' - retrying in 1000 ms. Cause: The JMS connection has failed: java.io.EOFException
现在,即使我启动了JMS服务器,appserver也不会重新连接到它,并不断抛出java.io.EOFException
我观察到的事情是,在成功重新连接到JMS之前,日志消息的一部分说,
原因:消费者已关闭
在其他情况下,它说
原因:会话关闭
还有下面的一行
INFO CachingConnectionFactory:291 - Established shared JMS Connection: ActiveMQConnection {id=ID:ap-pun-ws0430-53381-1437557704588-0:28,clientId=null,started=false}
java参考方案
power.messagebrokerurl的值设置为
power.messagebrokerurl=tcp://localhost:61616
如果在开始时添加故障转移,则看不到此错误。
power.messagebrokerurl=failover:tcp://localhost:61616
更新:通过以上设置,侦听器服务器始终希望JMS在启动时就可以启动并运行。因此,我必须添加startupMaxReconnectAttempts属性,其值为1。默认情况下,其值为-1(我使用的是ActiveMQ 5.5.0),这表示传输对初始连接尝试的次数没有限制,这就是侦听器服务器的原因。没有开始。
power.messagebrokerurl=failover:(tcp://localhost:61616)?startupMaxReconnectAttempts=1
您可以参考http://activemq.apache.org/failover-transport-reference.html的所有传输选项。
IntelliJ Spring MVC教程部署 - java
我尝试了tutorial,当我尝试部署webapp(IntelliJ 13.1.4 Ultimate)时,出现了一个奇怪的错误,如下面的屏幕快照所示。解决此错误的方法是什么? org.jdom.input.JDOMParseException: Error on line 742: The content of elements must consist o…Spring MVC:如何获取请求的处理程序方法 - java
我正在尝试根据Spring @RequestMapping注释方法上存在的注释实现一些逻辑。因此,我的方法中有一个HttpServletRequest实例,我想问一下spring“给我一个方法,该方法将被调用以处理此请求”,因此我可以使用反射API来询问是否存在我的注释,因此我可以更改处理。有什么简单的方法可以从Spring MVC获取此信息? java大神…Spring Boot如何在POST之后返回响应 - java
我想创建一个新客户并在创建客户后返回客户编号。客户编号必须是从50000开始的自动递增的唯一编号。到目前为止,我已经成功创建了一个客户,但是我不确定应该如何生成客户编号,将其保存到数据库中,并在触发POST时将其作为成功消息显示给用户。json下面是所需的响应;{ "customerNumber": "50002", …Spring MVC拦截器映射问题 - java
我有这段XML: 但是,如果我尝试在另一个上下文文件中加载另一个文件,则会出现错误。 java大神给出的解决方案 如果您需要覆盖属性,则可以执行以下操作: