問題タブ [payara-micro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
429 参照

jms - Payara (Micro) で ActiveMQ Artemis をセットアップする方法

JMS を使用したメッセージングを評価するためのセットアップを作成したいと考えています。ターゲット環境は通常の Payara ですが、設定が簡単なので、Payara Micro (同梱の jar) でテストしたいと思います。このように、簡単に移植できるセットアップを作成したいと思います。JNDI ルックアップでは、この点に関してコードに問題はありません。また、コーディング部分はそれほど難しくありません。このセットアップでテストしたいこと: - メッセージ駆動型 Bean を使用するコンシューマー - プロデューサー - 管理キューにアクセスする (ブルー/グリーン デプロイメントを有効にする方法をテストしたいため)

従来の ActiveMQ の rar を使用すると、作業は比較的簡単でした。post-boot-commands.txt をセットアップして、次の内容でリソース アダプターをデプロイおよび構成します。

これにより、Payara Micro はアプリの war ファイルを展開する前に rar を展開および構成できます。メッセージ駆動型 Bean は、次の構成で作成できます。

Producer は簡単だったので、ここでは省略します。管理キューで作業を開始するまでは、うまく機能していました。ブローカーに付属する管理の例 (非推奨のコードを使用しています :() に従うと、ソリューションが Artemis クライアントのコードを使用し、それが従来の ActiveMQ rar の ConnectionFactory クラスと競合したため、競合が発生しました。 ActiveMQ Artemis で従来の ActiveMQs rar を使用していたので、artemis rar に切り替えようとしたところ、Payara でリソース アダプターを構成する方法に関する情報を見つけることができず、地獄でした。

クラス ActiveMQResourceAdapter のソースを調べると、次の構成がわかりました。

JNDI プロパティは、例の jndi.properties の内容を模倣する試みです。良い点は、Payara Micro が起動時に次のように述べていることです。

[2020-03-26T20:51:58.812+0100] [] [INFO] [] [org.apache.activemq.artemis.ra] [tid: _ThreadID=48 _ThreadName=pool-18-thread-1] [timeMillis: 1585252318812] [levelValue: 800] AMQ151007: リソース アダプターを開始しました

悪いニュースは、次のように続くことです。

[2020-03-26T20:51:58.843+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318843] [levelValue: 900 ] 起動コマンド create-connector-connection-pool が失敗しました PlainTextActionReporterFAILURE無効な接続定義です。接続定義 javax.jms.ConnectionFactory を持つコネクタ モジュールが見つかりません。

と:

[2020-03-26T20:51:58.850+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318850] [levelValue: 900 ] Boot Command create-connector-resource failed PlainTextActionReporterFAILUREAttribute 値 (プール名 = jms/myConnectionPool) がコネクタ接続プールのリストに見つかりません。

と:

[2020-03-26T20:51:58.856+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318856] [levelValue: 900 ] Boot Command create-admin-object failed PlainTextActionReporterFAILUREResource Adapter artemis-rar-2.11.0 には、admin-object のリソース タイプが含まれていません。別の res-adapter を指定してください。

そのため、接続ファクトリーとキューの登録に失敗します。その結果、アプリケーションは後でリソースを検索するときに例外をスローします。

JMS およびリソース アダプタ/JCA の経験がないことを認めざるを得ません。私はすでにこれで何日も燃えているので、イライラしています。したがって、これに関するヘルプは大歓迎です。