Closed haitaoya closed 5 years ago
emmmmmmm。我也不太清楚,好久没做Java开发了。 是不是因为Tomcat中有好几个Connector?
@hzxie 嗯,那我再查查看。 虽然显示两个消费者,但是没有影响消息的正确接收。
我查了很久没找到原因....
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destinationName" value="vojJudgeResultQueue" />
<property name="messageListener" ref="messageReceiver" />
<property name="concurrentConsumers" value="1"/>
<property name="maxConcurrentConsumers" value="1"/>
</bean>
加了maxConcurrentConsumers
不起作用。
最后activeMQ的Number Of Consumers
还是2。 测试发现,Number Of Consumers
的值始终是concurrentConsumers
值的一倍...但是消息仍可以正常接收。 -_-#
消息肯定可以正常接收。因为消息本来就是会发送给每一个消费者。 我总觉得是Tomcat有多个Connector。
嗯。好的。我再试试看。
竞赛acm模式排行榜的时间计算好像有些问题。 直接用${contestant.time / 3600}
会四舍五入。无法得到取整的结果。https://github.com/hzxie/voj/blob/5ccd8fe1a43314d9f1e305056d28b789b26e64e0/web/src/main/webapp/WEB-INF/views/contests/leaderboard-acm.jsp#L70
${(contestant.time-contestant.time % 3600 ) / 3600}
这样应该能正常显示了
只是通过tomcat启动了一个web端 我查看了XML中activeMQ的配置,找不出原因。