A)自動回復/再接続用にGlassfish接続プールを構成していることを確認してください
Glassfish JDBC接続プール構成で、次の値を設定します。
- 属性:
is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping
Glassfish Configurationjdbc-connection -プールのプロパティ
Glassfish管理者-create-jdbc-connection-poolサブコマンド
手順:
- Glassfishが実行されていると仮定すると(たとえば、サーバーを開いてGlassfishを右クリックし、[Netbeansサービス]タブでサーバーを起動する)、ドメイン管理サーバーを実行する必要があります
- Webブラウザで管理コンソールを開きます:
http://localhost:4848
(または、インストール時に指定したポートを使用します。 - 左側の[共通タスク]メニューで、[リソース]-> [JDBC]を開き、[JDBC接続プール]をクリックします
- 接続プールのプール名をクリックします(または[新規]ボタンをクリックして新しいプール名を作成します)
- [詳細設定]タブを選択して入力:
- 最大1回検証:(例:60)秒単位
- 作成の再試行の試行:(例:3)
- 再試行間隔:(例:10)秒単位
- 接続の検証:(チェックマーク)必須
- 検証方法:(例:自動コミット)
- 必要に応じてその他の高度なプロパティ
- [全般]タブを選択して入力:
- Ping(ティック)
- 必要に応じてその他の一般的なプロパティ
B)アプリケーションエラー処理/DB監視とアラートの実装
-
必須:「インフラストラクチャレベル」の致命的なユーザーエラーをトラップし、サポートスタッフに警告します。
致命的なエラーが発生したときに通知を送信してそのメソッドを呼び出すための単純なJMXクラスを作成します
通知を送信するJMXMBeanクラス 。 JMXモニターコンソールを使用してサーバーの状態を監視できます。これらのコンソールの一部は電子メールアラートを送信し(JManageやRHQなど)、HTTP / AJaxまたは他の言語( Jolokia javascript / perl / java APIを使用してJMX通知にアクセスできます)。 Google CalendarAPI を使用します スタッフのグーグルカレンダーをサポートするためにエラーメッセージを送信します(1分または2分先)。次に、メール/ SMS通知を送信するようにGoogleカレンダーを設定します。これにより、ほぼリアルタイムでサポートスタッフにエラーアラートが直接送信されます。これには、Googleの使用制限が適用されます(1日あたり10,000クエリという礼儀の制限があるため、アプリにバグがないことを確認し、ロジックを使用して1時間/日/週に送信されるメッセージの数を制限してください)
-
望ましい:DB(およびおそらくアプリサーバー)を監視し、サポートスタッフに停止を警告する
- ZabbixオープンソースにはmySQLの監視とアラートが組み込まれています-軽量ですが、セットアップと構成が必要です
- Hypericオープンソースには、mySQLモニタリングと組み込みのアラート用の拡張プラグインがあります-重量があり、セットアップと構成が複雑になる可能性があります
- Nagoisオープンソースは*nixOSのデフォルトです-重量があり、セットアップと構成が複雑になる可能性があります
いずれの場合も、セットアップがすぐに行われるわけではありません。個別のミニプロジェクトとして実装し、正しく実行するのが最善です。これには、サポートスタッフが関与するのが最善です。
これらが「範囲外」の場合は、独自のシンプルなモニターを作成します。
- DBに対してスケジュールされた単純なテストクエリを実行するEJBタイマー-失敗した場合は、アラートを送信します(JMX /Googleカレンダー/Javaメール/SMSゲートウェイAPIを介して)。または、Quartzオープンソーススケジューラを使用して同じ仕事をします