Db Exec を担当するclassです。
5Fields
1Constructors
8Methods
76Lines
- Package
com.example.rankingplugin.db
- Source
db/DbExec.java
- Kind
class
- Roles
- DB / 永続化非同期 / スケジューラ初期化 / ブートストラップ
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。
全クラス章立てガイドを見る
クラス説明
クラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。
責務と見どころ
- DB / 永続化 — テーブル作成、読込、更新、削除など永続化責務を持ちます。
- 非同期 / スケジューラ — 重い処理をメインスレッドから切り離し、定期実行も管理します。
- 初期化 / ブートストラップ — 他コンポーネントを組み立て、起動時の全体配線を担います。
重点クラスの詳細解説
Db Exec を担当するclassです。db パッケージの 小規模クラスで、運用中の主ループ・スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
最初に追う読む順番
DbExec依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
onFail運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
onOk運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
shutdown後片付けと停止の出口です。残骸や再ログイン後の不整合はここを確認します。
isOffline条件判定を行い、後続処理の分岐に使える真偽値を返します。
conn注意: メインスレッドから呼ぶと即例外(開発時に気付きやすく)
runrun の主要処理を担当します。
supplysupply の主要処理を担当します。
内部サブシステムの地図
起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
運用中の主ループ
イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。
終了処理と掃除
停止時やフロー終端で残る実体・タスク・キャッシュを戻す出口です。
代表フロー詳解
初期化と起動の流れ
DbExec
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
通常運用の中心フロー
onFailonOk
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
反映・保存・終了の流れ
shutdown
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
変更時の注意点
- 運用中の主ループと終了処理は対になっています。開始側だけ修正すると停止時の残骸や二重登録が起きやすいため、出口側も同時に確認してください。
フィールド
| Visibility | Type | Name | 役割 |
|---|
private | JavaPlugin | plugin | プラグイン本体参照です。 |
private | DataSource | ds | DB 接続元を保持します。 |
private | ExecutorService | io | io の状態を保持します。 |
private | AtomicInteger | fails | fails の状態を保持します。 |
private | long | offlineUntil | offlineUntil の状態を保持します。 |
コンストラクタ / 初期化
| Signature | 説明 | 主要呼び出し |
|---|
public DbExec(JavaPlugin plugin, DataSource ds) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | max → getRuntime → availableProcessors → setDaemon |
メソッド索引
| Name | Visibility | Kind | 説明 |
|---|
| DbExec | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| isOffline | public | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| onFail | private | メソッド | onFail の主要処理を担当します。 |
| onOk | private | メソッド | onOk の主要処理を担当します。 |
| conn | public | メソッド | 注意: メインスレッドから呼ぶと即例外(開発時に気付きやすく) |
| run | public | メソッド | run の主要処理を担当します。 |
| supply | public | メソッド | supply の主要処理を担当します。 |
| shutdown | public | メソッド | 動作中の処理やリソースを安全に停止・解放します。 |
メソッド詳細
DbExec
コンストラクタpublic
public DbExec(JavaPlugin plugin, DataSource ds)
依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
引数
JavaPlugin pluginDataSource ds
主要な呼び出し順
maxgetRuntimeavailableProcessorssetDaemon
isOffline
メソッドpublic
public boolean isOffline()
条件判定を行い、後続処理の分岐に使える真偽値を返します。
主要な呼び出し順
currentTimeMillis
onFail
メソッドprivate
private void onFail(Throwable t)
onFail の主要処理を担当します。
主要な呼び出し順
incrementAndGetmincurrentTimeMillisgetLoggerwarninggetMessage
onOk
メソッドprivate
private void onOk()
onOk の主要処理を担当します。
主要な呼び出し順
目立つ内部呼び出しは抽出されませんでした。
conn
メソッドpublic
public Connection conn() throws SQLException
注意: メインスレッドから呼ぶと即例外(開発時に気付きやすく)
主要な呼び出し順
isPrimaryThreadgetConnection
run
メソッドpublic
public CompletableFuture<Void> run(Runnable task)
run の主要処理を担当します。
主要な呼び出し順
isOfflinecompletedFuturerunAsynconOkonFail
supply
メソッドpublic
public <T> CompletableFuture<T> supply(Callable<T> task)
supply の主要処理を担当します。
主要な呼び出し順
isOfflinecompletedFuturesupplyAsynccallonOkonFail
shutdown
メソッドpublic
public void shutdown()
動作中の処理やリソースを安全に停止・解放します。
代表的な処理フロー
- 初期化フロー
DbExec → max → getRuntime → availableProcessors → setDaemon依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
- onFail フロー
onFail → incrementAndGet → min → currentTimeMillis → getLogger → warningonFail の主要処理を担当します。
- shutdown フロー
shutdown → shutdownNow動作中の処理やリソースを安全に停止・解放します。
- supply フロー
supply → isOffline → completedFuture → supplyAsync → call → onOksupply の主要処理を担当します。
- run フロー
run → isOffline → completedFuture → runAsync → onOk → onFailrun の主要処理を担当します。
外部との接点
Web ルート
このクラス内に目立つ Web ルート定義は見つかりませんでした。
SQL / テーブル
テーブル名の抽出はありませんでした。
補足
- メソッド説明と処理フローは、Javadoc とソース本体の呼び出し列から自動要約しています。
- 匿名クラスや複雑なラムダ初期化を多用する箇所では、一部のフィールド / 呼び出し順が簡略表示になる場合があります。