でのAjaxを使用してリアルタイムチャットやリアルタイムの株式ポートフォリオ画面のようなものを行う方法を示しActiveMQ web samplesを参照してください - http://activemq.apache.org/ajax.htmlをするための理想的なアウトオブボックスソリューションです。あなたの問題。
このようなソリューションを手動で作成したい場合は、AjaxサーブレットでJMS接続を作成するだけで済みます(要求ごとの接続)。その理由でSpring JMSテンプレートを使用することを検討してください(http://static.springsource.org/spring/docs/2.5.x/reference/jms.html)。それから、サーブレットのdoGet/doPostメソッドでメッセージを受け取るだけです。その場合、受信にタイムアウト値を低く設定してください。そのようなソリューションは、キューと耐久性のあるトピックで機能します。
耐久性のないトピックについては、外部メッセージリスナーを検討してください。
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer
<property name="connectionFactory" ref="jmsFactory"/>
<property name="destination" ref="myTopic" />
<property name="messageListener" ref="lastTenUpdatesCache" />
</bean>
豆lastTenUpdatesCache
がMesssageListener
を実装するシングルトン豆になります:春MessageListenerContainer
は、その目的のための優れたツールです。このBeanは最後の10個のメッセージをキャッシュする責任があります(java.utilリストに入れるだけです)。あなたのAjaxサーブレットに注入されるので、あなたのdoGet/doPostメソッドでは、そのトピックに送られた最後の10個のメッセージを聞くことができます。
ありがとうございますjodonnell ..私はJMX MBeanやステートフルセッションEJBを書いたことはありませんが、すばやくGoogle検索した後、これは見下ろす正しい道だと思います。助けてくれてありがとう。 –