0

1つのOpenEJBサーバーコンテナに接続するOpenEJBクライアントを使用しています。OpenEJBサーバーは、フェイルオーバー操作のためにCorosyncとPacemakerによって管理されます。OpenEJBインスタンスに障害が発生すると(ネットワーク、ハードウェア、JVM、またはその他の問題が原因で)、Corosync+Pacemakerは別のマシンで別のOpenEJBサーバーインスタンスを起動します。プロセスは比較的高速であるため、これは私たちのユースケースでは問題になりません。

OpenEJBはネイティブのフェイルオーバーメカニズムを提供しますが、それでも独自のメカニズムで管理することを選択しました。これにより、クライアントをより適切に制御できるようになります。冗長すぎるクライアントロギングを除いて、すべてが期待どおりに機能しています。次のような接続障害メッセージを無効にするために、オフにするか微調整します。

22/08/2011 14:06:23 org.apache.openejb.client.StickyConnectionStrategy connect AVISO:フェイルオーバー:サーバーに接続できません:ejbd://192.168.1.5:4201例外:サーバーに接続できません'ejbd: //192.168.1.5:4201'。サーバーが起動していること、および指定されたserverURLが正しいことを確認してください。次に試行します。

OpenEJBクライアントでlog4jのログレベルを下げようとしましたが、失敗しました。log4jのドキュメントこの投稿によると、目的のレベルを「エラー」または「致命的」に設定する必要があります。問題は、カテゴリ名は何ですか?

私はすでに試しました:

  • p.put( "log4j.category.OpenEJB.client"、 "エラー");
  • p.put( "log4j.category.OpenEJB"、 "エラー");

しかし、何も変わっていません。では、これらのWARNメッセージをオフにするためにどのプロパティを使用する必要がありますか?

4

2 に答える 2

1

クライアントはjava.util.loggingを使用するため、それに接続されているメカニズムを介して構成可能である必要があります。

于 2011-08-22T18:07:13.083 に答える
0

情報をまとめるだけです。OpenEJBクライアントのロギングメカニズムを制御するには、通常のJavaロガーを設定する必要があります。

//Get the logger
Logger logger=Logger.getLogger("OpenEJB.client");

//Change its behavior...
logger.setLevel(Level.SEVERE);

それでおしまい。

于 2011-08-23T13:18:58.407 に答える