ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

5.2.1 ネーミングサービスの起動

ネーミングサービスとは

JNDIはJava Naming and Directory Interfaceの略です。

JNDIは、一般に「ネーミングサービス」や「ディレクトリサービス」と言われる名前検索により情報を取り出すサービスへ、Javaプログラムからアクセスする手段を提供します。

JDBC 2.0で導入されたJDBCデータソースはJNDIと組み合わせて使用することにより、アプリケーションの自由度を高めています。

JNDI APIは、「ネーミングサービス」や「ディレクトリサービス」にJavaプログラムからアクセスするための共通APIです。実際に「ネーミングサービス」や「ディレクトリサービス」へ対する処理は、JNDIサービスプロバイダと呼ばれるライブラリに実装されます。アプリケーションは使用するJNDIサービスプロバイダを切り替えるだけで、別のサービスにアクセスすることができます。

JDBCドライバでは、JDBCデータソースのためのネーミングサービスとJNDIサービスプロバイダ、およびJDBCデータソース登録ツールを提供しています。

ネーミングサービスはJDBCデータソースを登録および管理します。

JDBCアプリケーションは、登録されたJDBCデータソースを、JNDIを使用して取得し、利用します。

JDBCデータソースを使用する場合、事前にネーミングサービスを起動しておく必要があります。

ネーミングサービスの起動には、以下の2種類の方法があります。

注意

ネーミングサービスは、同時に2つ以上起動しないでください。

処理のタイミングにより、ネーミングサービスで管理している情報に矛盾が発生し、JDBCデータソースの登録情報が壊れる可能性があります。

5.2.1.1 Windows(R)サービス機能を利用したネーミングサービスの起動

ネーミングサービスをWindows(R)サービスに登録して起動する方法について、説明します。ネーミングサービスを以下のOS上で起動する場合、この方法を使用してください。

ネーミングサービスをWindows(R)のサービスに登録することで、パソコンの起動と共に、ネーミングサービスを自動で起動し、バックグラウンドで動作させることができます。上記のOS上でネーミングサービスを起動する場合、ネーミングサービスをWindows(R)のサービスに登録することを推奨します。

Windows(R)サービスへの登録方法

Windows(R)サービスへの登録は、symjddefnsコマンドを使用します。登録されるサービス名は、Symfoware JDBC Naming Serviceです。登録手順は、以下のとおりです。

参照

symjddefnsコマンドの詳細については、“コマンドリファレンス”を参照してください。

  1. コマンドプロンプトを起動します。

    注意

    Windows Server(R) 2008、Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2において、symjddefnsコマンドは、“管理者: コマンドプロンプト”から実行する必要があります。[コマンドプロンプト]を右クリックして表示されるメニューから[管理者として実行]を選択し、“管理者:コマンドプロンプト”を起動してください。

  2. symjddefnsコマンドを実行して、Symfoware JDBC Naming ServiceをWindows(R)サービスに登録します。
    以下の画面と同じ[ユーザー アカウント制御]ダイアログが表示された場合は、[続行]ボタンをクリックし、処理を継続してください。

    【記述例】

    JDKをC:\Interstage\JDK6にインストールしていて、ネーミングサービスのポート番号を26600にする場合

    symjddefns -add -jdk C:\Interstage\JDK6 -port 26600

注意

  • Windows(R)のコントロールパネルにある、[サービス]画面を表示させた状態で Symfoware JDBC Naming ServiceをWindowsサービスに登録すると、一部のバージョンのWindows(R)で、エラーが発生する場合があります。このような事象が発生した場合、[サービス]画面を閉じてから、再度登録作業を行ってください。

  • すでに使用されているポート番号を使用して、Symfoware JDBC Naming Serviceを起動することはできません。Symfoware JDBC Naming Serviceの起動に失敗した場合、Symfoware JDBC Naming Serviceで使用するポート番号に誤りがないか確認してください。

  • Microsoft(R) Windows(R) Defenderがインストールされている場合の注意事項

    • symjddefnsコマンドを実行した場合、Microsoft(R) Windows(R) Defenderおよびイベントビューアの履歴にSymfoware Serverのサービス登録時のメッセージが出力されます。これは、Microsoft(R) Windows(R) Defenderのリアルタイム保護エージェントがサービスのソフトウェアを監視しているためです。
      Symfoware Serverのサービスは、以下のとおりです

      • リソース: ファイル

      • JDBC: インストール先フォルダ\JDBC\fjjdbc\bin\SYMJDDEFNS.EXE

    • Microsoft(R) Windows(R) Defenderのアイコンが通知領域に表示される場合があります。この場合、Microsoft(R) Windows(R) Defenderのアイコンをクリックし、発行元が "FUJITSU LIMITED"の項目について操作に“許可”を設定し[操作を適用する]ボタンをクリックしてください。

Windows(R)サービスの起動方法

Symfoware JDBC Naming Serviceは、パソコン起動時に自動的に起動します。

手動で起動する場合、以下の手順で行ってください。

  1. [管理ツール]で[サービス]を起動します。

  2. Symfoware JDBC Naming Serviceを選択し、[サービスの開始]ボタンをクリックします。

Windows(R)サービスの停止方法

Symfoware JDBC Naming Serviceは、パソコンのシャットダウン時に自動的に停止します。手動で停止する場合、以下の手順で行ってください

  1. [管理ツール]で[サービス]を起動します。

  2. Symfoware JDBC Naming Serviceを選択し、[サービスの停止]ボタンをクリックします。

サービスの削除方法について

Symfoware Server クライアント機能をアンインストールすると、Symfoware JDBC Naming Serviceも削除されます。

Symfoware JDBC Naming Serviceを手動で削除したい場合、以下の手順で行ってください。

  1. コマンドプロンプトを起動します。

  2. symjddefnsコマンドを実行して、Symfoware JDBC Naming Serviceを削除します。

【記述例】
symjddefns -del

Windowsファイアウォール機能について

Windowsファイアウォール機能を有効にする場合、以下の手順でWebサーバのポート番号を有効にしてください。

Windows Server(R) 2003の場合

以下のサービスパックを適用してください。

  • Microsoft(R) Windows Server(R) 2003 Service Pack1以降

  1. [コントロールパネル]で[Windowsファイアウォール]をクリックします。

  2. [例外]タブの[ポートの追加]ボタンをクリックします。

  3. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  4. [ポートの追加]画面の[OK]をクリックします。

  5. [例外]タブの[プログラムおよびサービス]リストボックスで、3.で指定した内容が有効になっていることを確認します。

  6. [Windowsファイアウォール]画面の[OK]をクリックします。

Windows Vista(R)の場合
  1. [コントロールパネル]で[Windowsファイアウォール]アイコンをダブルクリックします。

  2. [設定の変更]をクリックします。

  3. [例外]タブの[ポートの追加]ボタンをクリックします。

  4. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  5. [ポートの追加]画面の[OK]をクリックします。

  6. [例外]タブの[プログラムまたはポート]リストボックスで、5.で指定した内容が有効になっていることを確認します。

  7. [Windowsファイアウォールの設定]画面の[OK]をクリックします。

Windows(R) 7、Windows(R) 8およびWindows(R) 8.1の場合
  1. [コントロールパネル]から[システムとセキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. 左側のウィンドウの[詳細設定]をクリックします。

  3. [セキュリティが強化された Windows ファイアウォール]画面で、左側のウィンドウの[受信の規則]をクリックします。

  4. 右側のウィンドウの[新しい規則]をクリックします。

  5. [新規の受信の規則ウィザード]画面の[ポート]を選択し、[次へ]をクリックします。

  6. [TCP]および[特定のローカルポート]を選択し、ネーミングサービスで使用しているポート番号を指定した後、[次へ]をクリックします。ネーミングサービスのポート番号の初期値は、26600です。

  7. [接続を許可する]を選択し、[次へ]をクリックします。

  8. この規則を適用するプロファイルを選択し、[次へ]をクリックします。

  9. [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定し、[完了]をクリックします。

  10. [セキュリティが強化された Windows ファイアウォール]画面の中央のウィンドウの[受信の規則]で、追加した規則が有効になっていることを確認します。

Windows Server(R) 2008の場合
  1. [コントロールパネル] から[セキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. [設定の変更]をクリックします。

  3. [例外]タブの[ポートの追加]ボタンをクリックします。

  4. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  5. [ポートの追加]画面の[OK]をクリックします。

  6. [例外]タブの[プログラムまたはポート]リストボックスで、5.で指定した内容が有効になっていることを確認します。

  7. [Windowsファイアウォールの設定]画面の[OK]をクリックします。

Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2の場合
  1. [コントロールパネル]から[システムとセキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. 左側のウィンドウの[詳細設定]をクリックします。

  3. [セキュリティが強化された Windows ファイアウォール]画面で、左側のウィンドウの[受信の規則]をクリックします。

  4. 右側のウィンドウの[新しい規則]をクリックします。

  5. [新規の受信の規則ウィザード]画面の[ポート]を選択し、[次へ]をクリックします。

  6. [TCP]および[特定のローカルポート]を選択し、ネーミングサービスで使用しているポート番号を指定した後、[次へ]をクリックします。ネーミングサービスのポート番号の初期値は、26600です。

  7. [接続を許可する]を選択し、[次へ]をクリックします。

  8. この規則を適用するプロファイルを選択し、[次へ]をクリックします。

  9. [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定し、[完了]をクリックします。

  10. [セキュリティが強化された Windows ファイアウォール]画面の中央のウィンドウの[受信の規則]で、追加した規則が有効になっていることを確認します。

5.2.1.2 Javaコマンドを使用したネーミングサービスの起動

起動方法

JDBCドライバをインストールしたマシンで以下のjavaコマンドを実行し、ネーミングサービスを起動します。

【記述形式】

java com.fujitsu.symfoware.jdbc2.naming.SYMNameService [<port_no>]

<port_no>
  • ネーミングサービスの使用するポート番号を指定します。

  • 省略した場合、26600になります。

  • SolarisLinuxポート番号は、1024~32767の範囲で、未使用のポート番号を指定してください。

  • Windowsポート番号は、以下の範囲で、未使用の値を指定してください。
    Windows Server(R) 2003の場合:5001~49151
    Windows Vista(R)、Windows(R) 7、Windows(R) 8、Windows(R) 8.1、Windows Server(R) 2008、Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2の場合:1024~49151

【記述例】

ポート番号が26600の場合

java com.fujitsu.symfoware.jdbc2.naming.SYMNameService 26600

注意

SolarisLinuxSolaris/Linuxの場合

  • SolarisまたはLinuxでネーミングサービスを起動する場合には、環境変数(CLASSPATH)の設定が必要となります。
    環境変数の設定方法については、“Solarisの場合”または“Linuxの場合”を参照してください。

  • ネーミングサービスをBシェルで起動した場合、ネーミングサービス起動後にexitコマンドでログアウトしてください。

  • システム管理者権限(root権限)を持つユーザがjavaコマンドを実行してください。

ネーミングサービスの起動について

ネーミングサービスは、アプリケーションを実行している間サービスとして運用を続ける必要があります。

そのため、SolarisマシンまたはLinuxマシンではコマンドの最後に“&”を付けて、マシンの起動と同時にバックグラウンドで実行するように設定することを推奨します。

ネーミングサービスの停止について

ネーミングサービスの停止方法は、起動方法によって異なります。

コマンドプロンプトやコンソールから直接入力して起動させた場合

Ctrlキー + Cを押してください。

SolarisLinuxSolaris/Linuxの場合
&を付けて、バックグラウンドで起動した場合
ネーミングサービスを起動したコンソールが残っている場合

fgコマンドを実行し、バックグラウンドで動いているジョブをフォアグランドに戻します。

その後、Ctrlキー + Cで停止してください。

記述例を以下に示します。

fg 1
ネーミングサービスを起動したコンソールが残っていない場合

killコマンドで、ネーミングサービスのプロセスを終了させてください。

記述例を以下に示します。

kill -9 プロセスID

以下のコマンドを実行することで、ネーミングサービスのプロセスIDを調べることができます。

ps -ef | grep fujitsu.symfoware.

ネーミングサービスの使用時のエラーについて

ネーミングサービスが停止した状態でネーミングサービスを使用すると、以下のエラーメッセージが出力されます。アプリケーション実行時に以下のエラーメッセージが出力された場合、ネーミングサービスの状態を確認してください。

LinuxLinuxの場合

起動中のJDBCネーミングサービスが使用しているポート番号を、以下の手順で確認してください。

各コマンドは、システム管理者権限(root権限)を持つユーザが実行してください。

  1. 以下のコマンドを実行し、ネーミングサービスのプロセスIDを取得します。

    ps -ef | grep fujitsu.symfoware.
  2. 以下のコマンドを実行し、ネーミングサービスの状態を表示します。

    netstat -a -p | grep (ネーミングサービスのプロセスID)
  3. 表示される“Local Address”の数字がポート番号ですので確認してください。

Windowsファイアウォール機能について

Windowsファイアウォール機能を有効にする場合、以下の手順でWebサーバのポート番号を有効にしてください。

Windows Server(R) 2003の場合

以下のサービスパックを適用してください。

  • Microsoft(R) Windows Server(R) 2003 Service Pack1以降

  1. [コントロールパネル]で[Windowsファイアウォール]をクリックします。

  2. [例外]タブの[ポートの追加]ボタンをクリックします。

  3. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  4. [ポートの追加]画面の[OK]をクリックします。

  5. [例外]タブの[プログラムおよびサービス]リストボックスで、3.で指定した内容が有効になっていることを確認します。

  6. [Windowsファイアウォール]画面の[OK]をクリックします。

Windows Vista(R)の場合
  1. [コントロールパネル]で[Windowsファイアウォール]アイコンをダブルクリックします。

  2. [設定の変更]をクリックします。

  3. [例外]タブの[ポートの追加]ボタンをクリックします。

  4. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  5. [ポートの追加]画面の[OK]をクリックします。

  6. [例外]タブの[プログラムまたはポート]リストボックスで、5.で指定した内容が有効になっていることを確認します。

  7. [Windowsファイアウォールの設定]画面の[OK]をクリックします。

Windows(R) 7、Windows(R) 8およびWindows(R) 8.1の場合
  1. [コントロールパネル]で[システムとセキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. 左側のウィンドウの[詳細設定]をクリックします。

  3. [セキュリティが強化された Windows ファイアウォール]画面で、左側のウィンドウの[受信の規則]をクリックします。

  4. 右側のウィンドウの[新しい規則]をクリックします。

  5. [新規の受信の規則ウィザード]画面の[ポート]を選択し、[次へ]をクリックします。

  6. [TCP]および[特定のローカルポート]を選択し、ネーミングサービスで使用しているポート番号を指定した後、[次へ]をクリックします。ネーミングサービスのポート番号の初期値は、26600です。

  7. [接続を許可する]を選択し、[次へ]をクリックします。

  8. この規則を適用するプロファイルを選択し、[次へ]をクリックします。

  9. [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定し、[完了]をクリックします。

  10. [セキュリティが強化された Windows ファイアウォール]画面の中央のウィンドウの[受信の規則]で、追加した規則が有効になっていることを確認します。

Windows Server(R)2008の場合
  1. [コントロールパネル]で[セキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. [設定の変更]をクリックします。

  3. [例外]タブの[ポートの追加]ボタンをクリックします。

  4. [ポートの追加]画面で、以下の項目を設定します。

    • [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定します。

    • [ポート番号]テキストボックスに、ネーミングサービスで使用しているポート番号を指定します。ネーミングサービスのポート番号の初期値は、26600です。

    • [TCP]ラジオボタンを選択します。

  5. [ポートの追加]画面の[OK]をクリックします。

  6. [例外]タブの[プログラムまたはポート]リストボックスで、5.で指定した内容が有効になっていることを確認します。

  7. [Windowsファイアウォールの設定]画面の[OK]をクリックします。

Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2の場合
  1. [コントロールパネル]で[システムとセキュリティ]を選択し、[Windowsファイアウォール]をクリックします。

  2. 左側のウィンドウの[詳細設定]をクリックします。

  3. [セキュリティが強化された Windows ファイアウォール]画面で、左側のウィンドウの[受信の規則]をクリックします。

  4. 右側のウィンドウの[新しい規則]をクリックします。

  5. [新規の受信の規則ウィザード]画面の[ポート]を選択し、[次へ]をクリックします。

  6. [TCP]および[特定のローカルポート]を選択し、ネーミングサービスで使用しているポート番号を指定した後、[次へ]をクリックします。ネーミングサービスのポート番号の初期値は、26600です。

  7. [接続を許可する]を選択し、[次へ]をクリックします。

  8. この規則を適用するプロファイルを選択し、[次へ]をクリックします。

  9. [名前]テキストボックスにSymfoware JDBC Naming Serviceを指定し、[完了]をクリックします。

  10. [セキュリティが強化された Windows ファイアウォール]画面の中央のウィンドウの[受信の規則]で、追加した規則が有効になっていることを確認します。