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データソースの作成方法ですが、実際には以下のように設定を追加・変更されることを推奨します。
- test-connections-on-reserve(予約時の接続のテスト)で、原文ではISVALIDを使うように記載していますが、DUAL表を使う方法でも可です(以前のWebLogic Serverでは実際にDUAL表へのアクセスが設定されていました)
- {URL}/JDBCSystemResources/${name}/JDBCResource/JDBCConnectionPoolParams へのPOSTでは、最小・最大接続数の指定のみならず、testConnectionsOnReserveを明示的にTrueにすることを推奨します(@yamadamnさんありがとうございます)。
元エントリもそうなのですが、testConnectionsOnReserveを明示的にtrueにしたほうがよさそうですね。https://t.co/fHcrHFXpTq
— Takahiro (Lo-Hey) (@yamadamn) 2017年7月24日
0 件のコメント:
コメントを投稿