アプリケーションサーバインスタンス(ASインスタンス)またはシステムによって自動的に開始されるようにABAPデーモンを設定することができます。
使用する
ファクトリクラスCL_ABAP_DAEMON_STARTUP_MANAGERのメソッドを使用すると、システムまたはアプリケーションサーバインスタンスが開始されると自動的に開始するようにABAPデーモンを設定することができます。メソッドはIF_ABAP_DAEMON_STARTUP_CONFIGインタフェースを呼び出します。このインタフェースには、デーモンの起動設定に使用されるメソッドが含まれています。起動構成は、ファクトリメソッドの呼び出し元であるプログラム(作成者プログラム)と現在のクライアントに対してのみ実行できます。結果として、作成者プログラムのみが構成されたデーモンと対話できます。
CL_ABAP_DAEMON_STARTUP_MANAGERには、以下のメソッドが含まれています。
-
CL_ABAP_DAEMON_STARTUP_MANAGER〜CREATE_FOR_CURRENT_PROGRAM:このメソッドを使用する場合、起動設定は、設定ユーザのロールにS_ADF_CFG権限オブジェクトが含まれ、それに応じて権限項目が更新されている場合にのみ実行できます。詳細については、承認管理を参照してください。
-
CL_ABAP_DAEMON_STARTUP_MANAGER〜CREATE_FOR_SECURE_ENV:この方法を使用する場合、権限チェックは行われません。ファクトリメソッドも返されたインターフェイスメソッドも、S_ADF_CFG権限オブジェクトをチェックしません。したがって、権限チェックは呼び出し元のアプリケーションで処理する必要があります。
インターフェイスメソッド
IF_ABAP_DAEMON_STARTUP_CONFIGインタフェースメソッドは、データベーステーブルABAP_DAEMON_STのエントリを追加、変更、または削除することにより、デーモンの自動起動を設定するために使用されます。ABAPシステムまたはアプリケーションサーバーインスタンスを起動すると、これらのエントリが読み込まれ、デーモンが適切に起動されます。これは、アプリケーションサーバーインスタンスを停止する場合にも当てはまります。
詳細については、ABAPデーモンの登録を参照してください。
インターフェイスIF_ABAP_DAEMON_STARTUP_CONFIGには、以下のメソッドが含まれています。
このインターフェースには、構成済みのデーモンを開始する方法として2つのオプションがあります。
-
IF_ABAP_DAEMON_STARTUP_CONFIG〜INSERT_BY_DESTINATIONは、トランザクションSM59で提供した必要なユーザーおよびパスワード情報を含む静的RFC宛先でデーモンを開始します。既存のスタートアップコンフィギュレーションを変更するには、メソッドIF_ABAP_DAEMON_STARTUP_CONFIG〜UPDATE_BY_DESTINATIONを使用します。
-
IF_ABAP_DAEMON_STARTUP_CONFIG〜INSERT_BY_TRUSTED_USERは、動的RFC宛先でデーモンを開始します。この宛先タイプの前提条件は、デーモンを開始する技術ABAPユーザとABAPデーモンセッションを実行するユーザ(トラステッドユーザ)との間の信頼関係の設定です。既存の設定を変更するには、メソッドIF_ABAP_DAEMON_STARTUP_CONFIG〜UPDATE_BY_TRUSTED_USERを使用します。
詳細については、ABAPデーモンの登録のセクションを参照してください。
IF_ABAP_DAEMON_STARTUP_CONFIG〜READは、スタートアップコンフィギュレーションテーブル( ABAP_DAEMON_ST )内の現在のクライアントおよびプログラムのすべてのコンフィギュレーションエントリを読み取ります。
IF_ABAP_DAEMON_STARTUP_CONFIG〜DELETEは、スタートアップコンフィギュレーションテーブルから既存のコンフィギュレーションエントリを削除します。
IF_ABAP_DAEMON_STARTUP_CONFIG〜SAVEは、デーモンの起動設定を実行せずにデータベースに保存します。
IF_ABAP_DAEMON_STARTUP_CONFIG〜EXECUTEは、デーモンの起動設定を保存し、設定に従ってデーモンを起動または停止するメソッドをトリガすることによって実行します。
IF_ABAP_DAEMON_STARTUP_CONFIG〜LOCKは、設定エントリをロックします。つまり、デーモンは設定されていますが、起動フェーズでは起動されません。実行フェーズでは、 EXECUTEメソッドが呼び出されるとすぐに、現在実行中のデーモンが停止します。
IF_ABAP_DAEMON_STARTUP_CONFIG〜UNLOCKは、設定エントリのロックを解除します。つまり、ロックされたすべてのデーモンは、起動フェーズまたはEXECUTEメソッドが呼び出されるとすぐに開始されます。
入力フィールド
デーモン起動のエントリを設定するには、次のパラメータを指定する必要がある場合があります。
-
ABAPデーモンクラス名:デーモンを実装するクラス
-
ABAPデーモン名:デーモンまたは複数のデーモンのグループの名前
-
宛先:メソッドINSERT_BY_DESTINATIONまたはUPDATE_BY_DESTINATIONが使用されている場合の静的RFC宛先の名前
-
ユーザー名:メソッドINSERT_BY_TRUSTED_USERまたはUPDATE_BY_TRUSTED_USERが使用されている場合の信頼できるユーザーの名前
-
言語(オプション):メソッドINSERT_BY_TRUSTED_USERまたはUPDATE_BY_TRUSTED_USERが使用されている場合の信頼できるユーザーの言語
-
PCPパラメーター信頼を使用して動的RFC宛先でデーモンを開始するには(オプション):デーモンのプッシュチャネルプロトコル(PCP)パラメーター
-
優先度:デーモンが要求を実行する際の優先度
-
トポロジタイプ:値SERVERとSERVER GROUP可能です。
-
SERVER:構成されたデーモンは、ステータスがアクティブになっているすべてのアプリケーションサーバーインスタンスで実行する必要があります。
-
SERVER GROUP:構成されたデーモンは、RFCサーバーグループに属するアプリケーションサーバーインスタンスでのみ実行する必要があります。
-
-
トポロジ値:
-
トポロジタイプがの場合、SERVER GROUPアプリケーションサーバインスタンスのセットを定義するRFCサーバグループを提供できます。値はRFCサーバーグループの名前です。
-
トポロジタイプがの場合SERVER、トポロジ値は無視され、名前は指定されません。
-
-
インスタンス:トポロジタイプに応じて、アプリケーションサーバーインスタンスで開始されるデーモンの数。次のシナリオが考えられます。
-
SERVER:設定された数のデーモンが、アクティブな各アプリケーションサーバーインスタンスで起動します。
-
SERVER GROUP:起動する構成済みデーモンの数は、RFCサーバーグループに属するアプリケーションサーバーインスタンスに分散されます。
-
起動構成の監視
ABAPデーモン起動設定ビューを使用して、トランザクションSMDAEMONでABAPデーモンの起動設定を監視することができます。