2

アプリケーションのデプロイで次の問題が発生します。

サーバー間の通信にJMSとリモートopenMQを使用します。問題は、接続の信頼性が完全ではないため、接続が上下する可能性があることです。再接続するために、jms reconnect glassfishプロパティを設定して、ある時点で接続が失われた場合に再接続するようにしました。アプリケーションをデプロイしようとして接続がない場合に問題が発生します。接続を再試行し続けているように見えますが、接続が利用可能になるまでアプリケーションはデプロイメントを終了しません。

接続がなくても展開が続行され、接続が利用可能になるまで再試行を続けるように構成することは可能ですか?

どうもありがとう。

編集:別のスレッドでMDB初期化を実行しようとしています。私は両方を試しました

sun-ejb.jar.xmlを変更する2つの方法で、MDBに別のスレッドを割り当てようとしています。

        <bean-pool>
            <steady-pool-size>1</steady-pool-size>
            <resize-quantity>1</resize-quantity>
            <max-pool-size>1</max-pool-size>
            <pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
        </bean-pool>

そしてまた

        <use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>

しかし、私は運がなかった。新しいスレッドを取得しているように見えるため、このスレッドが終了するのを待っているように見えますが、そのスレッドが終了してアプリケーションの開始が完了するのを待っているため、私の場合、アプリケーションは正しくデプロイされません。

編集2別のスレッドでもjmsサービスを実行しようとしました...

asadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra

運もありません。

4

2 に答える 2

1

Glassfish のデフォルトの JMS プロバイダーでは、これは不可能です。JCAアダプタを次のように変更することで、最終的にこれを行うことができました

https://jmsjca.dev.java.net/

于 2010-03-27T10:10:19.963 に答える
0

主なアプリケーションがブロックされることなく実行し続けるように、JMS に接続する別のスレッドを生成することを考えられますか。

于 2010-03-17T11:20:25.363 に答える