7

開発マシンで ActiveMQ (5.6) をローカルで開始/停止するには、それぞれ実行./activemq start./activemq stopます。

私たちの QA マシンでは、それをサービスとしてインストールし、それぞれ実行service activemq startしてservice activemq stopいます。

QAマシンをバウンスして発行しservice activemq stopservice activemq start再起動しました。

プロセス ID が作成されているps -aef | grep activemqのがわかります。実行すると、ActiveMQ サーバーの生きた呼吸プロセスが表示されます。

しかし、私が行くとhttp://<qa-server>:8161/admin、サーバーがダウンしているときに表示される典型的なエラーが表示されます。

Firefox は :8161 でサーバーへの接続を確立できません。

編集:./active startとメソッドの両方を試しましたが、service activemq startどちらも同じ問題を引き起こします: プロセスが作成されているのがわかりますが、Web 管理ツールには何も表示されません。

ActiveMQ のホーム ディレクトリを確認しましたが、どのタイプのlogs/ディレクトリも表示されないため、どこから問題のデバッグを開始すればよいかさえわかりません。

AMQ が再起動していないか、Web 管理アプリが再起動していないか、正しく機能していません。いずれにせよ、どこから始めればよいかわかりません。前もって感謝します!

編集

に次のエラーが表示されdata/activemq.logます。

2012-10-07 11:37:14,501 | 情報 | データベース /qa-server/kahadb/lock がロックされています... データベースのロックが解除されるまで 10 秒間待機しています。理由: java.io.IOException: ファイル '/qa-server/kahadb/lock' をロックできませんでした。| | org.apache.activemq.store.kahadb.MessageDatabase | メイン 2012-10-07 11:37:24,504 | 情報 | データベース /qa-server/kahadb/lock がロックされています... データベースのロックが解除されるまで 10 秒間待機しています。理由: java.io.IOException: ファイル '/qa-server/kahadb/lock' をロックできませんでした。| | org.apache.activemq.store.kahadb.MessageDatabase | 主要

4

5 に答える 5

5

QA環境には複数のAMQサーバーがあったことがわかりました。最初のサーバーをシャットダウンすると、何らかの理由で例外がスローされたため、ロックが解放されませんでした。次に、そのロックの所有権は他のAMQインスタンスに移動しました(最初のサーバーはマスターで、2番目のサーバーはスレーブでした)。

最初のサーバー(マスター)を再起動しようとすると、2番目のサーバーがロックを所有していたため、再起動しませんでした。2番目のサーバーをシャットダウンすると、ロックが解除され、両方を再起動できるようになりました。

于 2012-10-09T20:07:44.180 に答える
2

data/ログのディレクトリを確認します。

そして、これはタイプミスですか?:8161.admin
試す:8161/admin

于 2012-10-07T15:36:59.663 に答える
1
  1. Win7 の apache インストール ホーム フォルダ、つまり apache-activemq-X.XX.X に移動します。
  2. 右クリックしてプロパティを選択
  3. ログインユーザーのこのフォルダーのアクセス許可を変更します-「通常、ログインユーザーにはすでにADMINアクセス権があるはずですが、このApache MQをマシンで解凍すると、管理者権限が失われます」

これで、activemq コマンドがスムーズに実行されるはずです

于 2019-02-25T13:12:38.580 に答える
0

上記のいずれもうまくいかない場合は、以下の簡単な手順に従ってください。

  1. タスク マネージャーに移動し、現在実行中のすべての Java プロセスを強制終了します。
  2. 管理者として activemq バッチ ファイルを実行します。

ローカル ブラウザで以下を開いて、これが正常に実行されていることを確認します: http://localhost:8161/

于 2016-06-22T16:00:41.540 に答える
0

サービスを停止しても、サービスが停止されるとは限りません。Windows は複数のスレッドにまたがり、一定の時間が経過するとサービスが停止したと見なします。プロセスリストでまだ実行中のプロセスが表示される場合は、常にプロセスを確認、検証、強制終了してください。これを行うと、保持しているロックがクリアされる場合があります。

于 2012-10-07T15:53:09.213 に答える