質問

構築を行っているサイトに使AJAX Servlet話JMS(ActiveMQ)時のメッセージが到着から話題の更新のサイトです。

私はJavascriptを生成するXMLHttpRequestのためのデータです。サーブレットプロセスの取得要求の送信バJSON.しかしわたしにはわかりませんどのように接続し私のサーブレットマActiveMQメッセージいすぎ。それだけでダミーデータを送り返します。

私は考えにServeltぼすおそれのある機器、装置のmessagelistener.その後onMessageデータを送信し、JavaScriptのページです。がんなどの関係ではないかと思います。

役に立ちましたか?

解決

の問題を有するサーブレットを実施MessageListenerはサーブレットは同期とMessageListenersは非同期。代わりにできるようにする必要がありますその他のオブジェクト等にグローバルに展開しているMessageListenerと更新状態のどこかれデータベースは、JMX MBeanは、状態セッションEJB)メッセージをやりとりするときに来ます。その後、サーブレットできるクエリの状態がきていることを確認して下さいユーザが保有するデータの報告書においてはクライアントのwebページを定期的にpingサーブレットに新鮮なデータです。

他のヒント

としてのジェームズ-Strachan言 http://activemq.apache.org/ajax.html 理想のボックスのソリューションの問題です。

だいたいの内容を解決手を作っていただくだけでokでJMS接続おAjaxサーブレット接続ります。利用をお考えの春JMSテンプレートそのために( http://static.springsource.org/spring/docs/2.5.x/reference/jms.html ).それだけでメッセージを受け取りサーブレットdoGet/doPost方法です。検討の低いタイムアウト値を受ける場合があります。な解はキューには、耐久性。

非耐久性の課題を考えを外部のメッセージリスト春 MessageListenerContainer 優れたツールと目的:

<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer
   <property name="connectionFactory" ref="jmsFactory"/>
   <property name="destination" ref="myTopic" />
   <property name="messageListener" ref="lastTenUpdatesCache" />
</bean>

lastTenUpdatesCache するシングルトンbeanの実施 MesssageListener.このbeanが責任者となるキャッシュ最新メッセージも入れておくというjava.util。ますので注入おAjaxサーブレットでおdoGet/doPost方法をお願いできない10のメッセージ送信されます。

また釣りをした読書に対する回答 この質問ActiveMQ Ajax支援.基本的にはActiveMQは、ネイティブサポートAjax用することができ、そのJavaScriptライブラリに直接申し込みは、ActiveMQます。

もの ActiveMQ webサンプル できるという実時間でチャットや実証券ポートフォリオの画面デザインとActiveMQ

おそらくる必要がJMSからの接続JNDIす:

Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,
    "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,
    "tcp://hostname:61616");
javax.naming.Context ctx = new InitialContext(props);
// lookup the connection factory
javax.jms.TopicConnectionFactory factory = 
    (javax.jms.TopicConnectionFactory)ctx.lookup("ConnectionFactory");
// create a new TopicConnection for pub/sub messaging
javax.jms.TopicConnection conn = factory.getTopicConnection();
// lookup an existing topic
javax.jms.Topic mytopic = (javax.jms.Topic)ctx.lookup("MyTopic");
// create a new TopicSession for the client
javax.jms.TopicSession session = 
    conn.createTopicSession(false,TopicSession.AUTO_ACKNOWLEDGE);
// create a new subscriber to receive messages
javax.jms.TopicSubscriber subscriber = session.createSubscriber(mytopic);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top