原文はこちら。
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をミラーしており、WESTを使うかのように利用できます。
下記のShell ScriptはActive GridLinkデータソースを最小限のパラメータで作成するもので、必要に応じてパラメータを追加できます。その他注意点は以下の通りです。
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をミラーしており、WESTを使うかのように利用できます。
下記のShell ScriptはActive GridLinkデータソースを最小限のパラメータで作成するもので、必要に応じてパラメータを追加できます。その他注意点は以下の通りです。
- WebLogic Server 12.2.1で新たに登場したデータソースタイプを明示的に指定しています。
- AGLの場合長形式のURLを使う必要があります。
- test-connections-on-reserve(予約時の接続のテスト)で利用するために"ISVALID"を使うSQLクエリを設定することを推奨します(訳注:DUAL表を使う方法でも可)。
- 自動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
}" \
-X POST "${editurl}/JDBCSystemResources/${name}/JDBCResource/JDBCOracleParams"
$c -d "{}" \
-X POST "${editurl}/changeManager/activate"