[WLS] Using REST to Create an AGL Data Source

原文はこちら。
https://blogs.oracle.com/weblogicserver/using-rest-to-create-an-agl-data-source

最近お客様から尋ねられる質問は、Active GridLink (AGL) データソースをWebLogic ServerのRESTful APIを使って作成する方法です。
まず、WebLogic Server 12.1.3で提供されるAPIでは作成できません。WebLogic Server 12.2.1で提供を開始した新しいAPIだと、ずっと完全な機能を提供しています。これらのAPIはManaged Beansをミラーしており、WLSTを使うかのように利用できます。
下記のShell ScriptはActive GridLinkデータソースを最小限のパラメータで作成するもので、必要に応じてパラメータを追加できます。その他注意点は以下の通りです。
  • WebLogic Server 12.2.1で新たに登場したデータソースタイプを明示的に指定しています。
  • AGLの場合長形式のURLを使う必要があります。
  • test-connections-on-reserve(予約時の接続のテスト)で利用するために"ISVALID"を使うSQLクエリを設定することを推奨します。
  • 自動ONSを使ってONSノードリストを指定しない前提にしています。
  • FAN-enabled(FANの有効化)を明示的に指定する必要があります。
host=localhost
port=7001
user=weblogic
passwd=welcome1
editurl=http://${host}:${port}/management/weblogic/latest/edit
c="curl -v --user ${user}:${pass} -H X-Requested-By:MyClient -H Accept:application/json -H Content-Type:application/json"
name="JDBCGridLinkDataSource"
$c -d "{}" -X POST "${editurl}/changeManager/startEdit"
$c -d "{
    'name': '${name}',
    'targets': [ { identity: [ 'servers', 'myserver' ] } ],
}" \
-X POST "${editurl}/JDBCSystemResources?saveChanges=false"
$c -d "{
    'name': '${name}',
    'datasourceType': 'AGL',
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource"
$c -d "{
        'JNDINames': [ 'jndiName' ]
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCDataSourceParams"
$c -d "{
        'password': 'dbpassword',
        'driverName': 'oracle.jdbc.OracleDriver',
        'url':  'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbhost)(PORT=dbport))(CONNECT_DATA=(SERVICE_NAME=dbservice)))',
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCDriverParams"
$c -d "{
        name: 'user',
        value: 'dbuser'
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCDriverParams/properties/properties"
$c -d "{
        'testTableName': 'SQL ISVALID'
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCConnectionPoolParams"
$c -d "{
        "fanEnabled":true,
        "testConnectionsOnReserve":true
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCOracleParams"

$c -d "{}" \
 -X POST "${editurl}/changeManager/activate"
(訳注)
上記設定例は最小限のパラメータを使ったActive GridLinkデータソースの作成方法ですが、実際には以下のように設定を追加・変更されることを推奨します。

  1. test-connections-on-reserve(予約時の接続のテスト)で、原文ではISVALIDを使うように記載していますが、DUAL表を使う方法でも可です(以前のWebLogic Serverでは実際にDUAL表へのアクセスが設定されていました)
  2. {URL}/JDBCSystemResources/${name}/JDBCResource/JDBCConnectionPoolParams へのPOSTでは、最小・最大接続数の指定のみならず、testConnectionsOnReserveを明示的にTrueにすることを推奨します(@yamadamnさんありがとうございます)。

0 件のコメント:

コメントを投稿