Flex Gateway新着情報
Governance新着情報
Monitoring API Managerデータベース用 Anypoint Connector (Database Connector) は、JDBC ドライバーを使用できるあらゆるデータベースに接続できます。次の例は、最も一般的なデータベース (Derby、Microsoft SQL Server、MySQL、Oracle、汎用データベースなど) に接続する方法を示しています。また、高度なユースケースとして、Anypoint Studio と XML エディターの両方で、グローバルデータソースへの接続、JDBC ドライバーの設定、接続プーリングの設定、TNS を使用した Oracle データベースへの接続を行う方法も示しています。
Database Connector では、[Generic Connection (汎用接続)] 項目の設定時に指定したパラメーター値を使用して、JDBC データソースを生成します。独自のデータソースを作成し、そのデータソースを使用してデータベースに接続する場合は、[Data Source Reference Connection (データソース参照接続)] 項目を設定します。
次の例は、Anypoint Studio を使用して Derby データベースへのデータソース参照接続を設定する方法を示しています。
Studio の src/main/resources
フォルダーで、Derby データベースに接続するカスタム enhydra
データソースを定義する datasource-config.xml
bean ファイルを作成します。
<bean id="jdbcDataSource" class="org.enhydra.jdbc.standard.StandardDataSource"
destroy-method="shutdown">
<property name="driverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="url" value="jdbc:derby:muleEmbeddedDB;create=true"/>
</bean>
Mule フローに戻り、[Global Elements (グローバル要素)] ビューに移動して、[Create (作成)] をクリックして [Choose Global Type (グローバル種別の選択)] ウィンドウを開きます。
[Filter (検索条件)] 項目に「spring
」と入力し、[Spring Config (Spring 設定)] を選択して [OK] をクリックします。
[Spring Config (Spring 設定)] ウィンドウの [Files (ファイル)] 項目で、Spring Module を使用して Spring 設定ファイルを参照する datasource-config.xml
を追加します。
[OK] をクリックします。
次のスクリーンショットは設定を示しています。
[Global Elements (グローバル要素)] ビューで [Create (作成)] をクリックして [Choose Global Type (グローバル種別の選択)] ウィンドウを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Data Source Reference Connection (データソース参照接続)] を選択します。
[Configure (設定)] をクリックし、必要な JDBC ドライバーを追加して、次のいずれかを選択します。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Data source ref (データソース参照)] で、datasource-config.xml
bean ファイルに作成された bean ID jdbcDataSource
を追加します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
次のスクリーンショットは設定を示しています。
XML エディターでは、Spring 設定とデータベース設定は次のように記述されます。
<spring:config name="datasource" files="datasource-config.xml" />
<db:config name="Database_Config">
<db:data-source-connection dataSourceRef="jdbcDataSource" />
</db:config>
Mule アプリケーションで XA トランザクションにバインドされている操作が必要であり、使用しているデータベース設定で接続プーリングが有効である場合は、データソース参照接続のデフォルト接続プール実装は Enhydra XAPool になります。
Enhydra XAPool は、プリペアードステートメントをサポートしません。これらの操作を実行するには、Bitronix 接続プールを使用してください。詳細は、『Bitronix トランザクションマネージャーの設定』ドキュメントを参照してください。
XA トランザクションを使用するには、アプリケーションの JDBC データソース Spring Bean 設定ファイルで XADataSource オブジェクトを指定する必要があります。
|
XA トランザクションモードで Derby データベースのデータソース参照接続を設定する例を示します。
Studio で、src/main/resources
フォルダーに datasource-config.xml
Spring Bean ファイルを作成します。
org.enhydra.jdbc.standard.Standard
クラスの最後に XADataSource
オブジェクトを追加します (例: class="org.enhydra.jdbc.standard.StandardXaDataSource
)。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd">
<bean id="jdbcDataSource" class="org.enhydra.jdbc.standard.StandardXaDataSource" destroy-method="shutdown">
<property name="driverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="url" value="jdbc:derby:muleEmbeddedDB;create=true"/>
</bean>
</beans>
Mule フローに戻り、[Global Elements (グローバル要素)] > [Create (作成)] を選択して [Choose Global Type (グローバル種別の選択)] ウィンドウを開きます。
[Filter (検索条件)] に「spring
」と入力し、[Spring Config (Spring 設定)] を選択して [OK] をクリックします。
[Spring Config (Spring 設定)] の [Files (ファイル)] で、Spring Module を使用して Spring 設定ファイルを参照する datasource-config.xml
を追加します。
[OK] をクリックします。
[Global Elements (グローバル要素)] で [Create (作成)] をクリックして [Choose Global Type (グローバル種別の選択)] ウィンドウを開きます。
[Filter (検索条件)] に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] > [Connection (接続)] で [Data Source Reference Connection (データソース参照接続)] を選択します。
[Configure (設定)] をクリックし、必要な JDBC ドライバーを追加して、次のいずれかを選択します。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Data source ref (データソース参照)] で、datasource-config.xml
bean ファイルに作成された bean ID jdbcDataSource
を追加します。
[Advanced (詳細)] タブで、[Pooling profile (プーリングプロファイル)]、[Column types (列の型)]、[Reconnection (再接続)] の各項目を設定します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
XML エディターでは、Spring 設定とデータベース設定は次のように記述されます。
<spring:config name="spring-beans" files="datasource-spring-beans.xml"/>
<db:config name="db-datasource">
<db:data-source-connection dataSourceRef="jdbcDataSource">
<reconnection failsDeployment="true">
<reconnect frequency="4000" count="4"/>
</reconnection>
<db:column-types>
<db:column-type id="124"
typeName="column_type"
className="class_name"/>
</db:column-types>
<db:pooling-profile maxPoolSize="6" minPoolSize="1"
acquireIncrement="2"
maxWait="1" maxWaitUnit="MINUTES"/>
</db:data-source-connection>
</db:config>
Derby データベースに接続するには、[Derby Connection (Derby 接続)] 項目種別を使用します。
次の例は、Anypoint Studio で接続を設定する方法を示しています。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Derby Connection (Derby 接続)] を選択します。
[Configure (設定)] をクリックし、必要な Derby JDBC ドライバーを追加して、次のいずれかを選択します。
Add recommended library (推奨されるライブラリを追加)
推奨されるライブラリをインストールします。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Database (データベース)] を derbyDB
、[Subsub protocol (Subsub プロトコル)] を directory
に設定します。
[Transactions (トランザクション)] タブで、必要に応じて、データベースに接続するときのトランザクション分離 (XA トランザクション) を指定します。
[Advanced (詳細)] タブで、必要に応じて接続プーリングおよび再接続情報 (再接続戦略を含む) を指定します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config" >
<db:derby-connection database="derbyDB" />
</db:config>
次のデータベースに接続するには、[Generic Connection (汎用接続)] 項目種別を使用します。
MuleSoft で特定の接続種別が提供されていないデータベース
接続種別に含まれないカスタムオプションを使用するサポート対象データベース
次の例は、Anypoint Studio で H2 データベースに接続する方法を示しています。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Generic Connection (汎用接続)] を選択します。
[Configure (設定)] をクリックし、必要な JDBC ドライバーを追加して、次のいずれかを選択します。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[URL] を jdbc:h2:file:/tmp/datasenseDBand
、[Driver class name (ドライバークラス名)] を org.h2.Driver
に設定します。
[Test Connection (接続をテスト)] をクリックして、データベースとの接続を検証します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config">
<db:generic-connection driverClassName="org.h2.Driver"
url="jdbc:h2:file:/tmp/datasenseDB"/>
</db:config>
Microsoft SQL Server データベースに接続するには、[Microsoft SQL Server Connection (Microsoft SQL Server 接続)] 項目種別を使用します。
次の例は、Anypoint Studio で接続を設定する方法を示しています。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Microsoft SQL Server Connection (Microsoft SQL Server 接続)] を選択します。
[Configure (設定)] をクリックし、必要な Microsoft SQL Server ドライバーを追加して、次のいずれかを選択します。
Add recommended library (推奨されるライブラリを追加)
推奨されるライブラリをインストールします。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Host (ホスト)] を 0.0.0.0
、[Port (ポート)] を 553
、[User (ユーザー)] を Max
、[Password (パスワード)] を password
、[Database name (データベース名)] を microsoftDB
に設定します。
[Transactions (トランザクション)] タブで、必要に応じて、データベースに接続するときのトランザクション分離 (XA トランザクション) を指定します。
[Advanced (詳細)] タブで、必要に応じて接続プーリングおよび再接続情報 (再接続戦略を含む) を指定します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config">
<db:mssql-connection
host="0.0.0.0"
port="553"
user="Max"
password="password"
databaseName="microsoftDB" />
</db:config>
MySQL データベースに接続するには、[MySQL Connection (MySQL 接続)] 項目種別を使用します。
次の例は、Anypoint Studio で接続を設定する方法を示しています。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [MySQL Connection (MySQL 接続)] を選択します。
[Configure (設定)] をクリックし、必要な MySQL JDBC ドライバーを追加して、次のいずれかを選択します。
Add recommended library (推奨されるライブラリを追加)
推奨されるライブラリをインストールします。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Host (ホスト)] を 0.0.0.0
、[Port (ポート)] を 3306
、[User (ユーザー)] を Max
、[Password (パスワード)] を password
、[Database (データベース)] を someSchema
に設定します。
[Transactions (トランザクション)] タブで、必要に応じて、データベースに接続するときのトランザクション分離 (XA トランザクション) を指定します。
[Advanced (詳細)] タブで、必要に応じて接続プーリングおよび再接続情報 (再接続戦略を含む) を指定します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config">
<db:my-sql-connection
host="0.0.0.0"
port="3306"
user="Max"
password="POWERS"
database="mysqlDB"/>
</db:config>
Oracle データベースに接続するには、[Oracle Connection (Oracle 接続)] 項目種別を使用します。
次の例は、Anypoint Studio で接続を設定する方法を示しています。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Oracle Connection (Oracle 接続)] を選択します。
[Configure (設定)] をクリックし、必要な Oracle JDBC ドライバーを追加して、次のいずれかを選択します。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
[Host (ホスト)] を 192.168.99.100
、[Port (ポート)] を 1521
、[User (ユーザー)] を system
、[Password (パスワード)] を oracle
、[Instance (インスタンス)] を xe
に設定します。
[Transactions (トランザクション)] タブで、必要に応じて、データベースに接続するときのトランザクション分離 (XA トランザクション) を指定します。
[Advanced (詳細)] タブで、必要に応じて接続プーリングおよび再接続情報 (再接続戦略を含む) を指定します。
[Test Connection (接続をテスト)] をクリックして、Mule がデータベースに接続できることを確認します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config">
<db:oracle-connection
host="192.168.99.100"
port="1521" instance="xe"
user="system"
password="oracle" />
</db:config>
接続を設定したら、JDBC ドライバーを追加します。次の例は、MySQL データベースのドライバーを追加する方法を示しています。
Studio で、次のいずれかのオプションを使用してドライバーを追加します。
[Database Config (データベース設定)] ウィンドウで [Configure (設定)] をクリックし、[Add Maven dependency (Maven 連動関係を追加)] を選択して、連動関係を選択します。
連動関係をプロジェクトの pom.xml
ファイルに直接追加します。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
Mule でドライバーの連動関係を Database Connector に公開するように pom.xml
ファイルを設定します。
<build>
<plugins>
<!-- Only used to declare the shared libraries-->
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<sharedLibraries>
<sharedLibrary>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</sharedLibrary>
</sharedLibraries>
</configuration>
</plugin>
</plugins>
</build>
接続の確立には、コネクタ、リレーショナルデータベース管理システム (RDBMS) ネットワーク、および処理オーバーヘッドの点でコストがかかります。Database Connector ではプーリングプロファイルを使用して接続プールをビルドできます。これは、コネクタで必要な操作を実行するために使用できる確立済みの接続のグループです。これを使用すると、コネクタで新しい接続を毎回確立する必要はありません。
アプリケーションのグローバル要素で [Pooling profile (プーリングプロファイル)] 項目を設定する場合は、[Test connection on checkout (チェックアウト時に接続をテスト)] 項目をオフにして接続プーリングでのコネクタのパフォーマンスを向上します。この項目をデフォルト (TRUE
) として選択したままにしていると、接続がプールからチェックアウトされるたびに、接続プールでデータベースに対する接続確認が実行されるため、各操作の完了までにかかる時間が増加します。
すべての接続種別で [Pooling profile (プーリングプロファイル)] 項目の設定が受け入れられます。JDBC では、プーリングはデータソースレベルで実行されるため、プーリングを有効にするには、グローバルデータソースを設定する必要があります。
次の例は、[Test connection on checkout (チェックアウト時に接続をテスト)] 項目を FALSE
に設定して Oracle データベース接続用のプーリングプロファイルを設定する方法を示しています。
[Database Config (データベース設定)] ウィンドウの [Advanced (詳細)] タブの [Pooling profile (プーリングプロファイル)] で [Edit inline (インライン編集)] を選択します。
次の項目を設定します。
Max pool size (最大プールサイズ): 30
Min pool size (最小プールサイズ): 4
Acquire Increment (取得増分): 1
Prepared statement cache size (プリペアードステートメントのキャッシュサイズ) 5
Max wait (最大待機): 0
Max wait unit (最大待機単位): SECONDS (Default)
Max idle time (最大アイドル時間) 0
Max statements (最大ステートメント) 0
[Test connection on checkout (チェックアウト時に接続をテスト)] をオフにします。
これにより、この項目は FALSE
として設定されます。
[Column types (列の型)] で、[Edit inline (インライン編集)] を選択します。
(+) プラス記号をクリックして、列の型を追加します。
[Column Type (列の型)] ウィンドウで [Id] を 2003
、[Type name (型名)] を 1000
に設定し、[Finish (完了)] をクリックします。
ステップ 5 を繰り返します。
新しい列型を追加するには、[Id] を 2002
、[Type name (型名)] を PHONE_NUMBER_ARRAY
に設定し、[Finish (完了)] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、<db:pooling-profile>
および testConnectionOnCheckout="false
の設定は次のように記述されます。
<db:config name="dbConfig">
<db:oracle-connection host="localhost" user="myuser" password="mypass" serviceName="orclpdb1">
<db:pooling-profile minPoolSize="4" maxPoolSize="30" testConnectionOnCheckout="false" acquireIncrement="1" maxWait="0" maxWaitUnit="SECONDS" preparedStatementCacheSize="5"/>
<db:column-types>
<db:column-type id="2003" typeName="PHONE_NUMBER" />
<db:column-type id="2002" typeName="PHONE_NUMBER_ARRAY" />
</db:column-types>
</db:oracle-connection>
</db:config>
次の例は、tnsnames.ora
ファイルを使用する Oracle データベースに接続する [Generic Connection (汎用接続)] 項目を設定する方法を示しています。
ファイアウォールで Mule Runtime Engine をデータベースから分離している場合、TNS 接続で ENABLE=BROKEN
パラメーターを使用してキープアライブ接続を有効にします。
キープアライブ接続を設定しない場合、非アクティブタイマーの期限切れにより接続のトラフィックがドロップする可能性があります。
Studio で、[Global Elements (グローバル要素)] ビューに移動します。
[Create (作成)] をクリックして、[Choose Global Type (グローバル種別の選択)] ビューを開きます。
[Filter (検索条件)] 項目に「database
」と入力し、[Database Config (データベース設定)] を選択して [OK] をクリックします。
[Database Config (データベース設定)] ウィンドウの [Connection (接続)] 項目で [Generic Connection (汎用接続)] を選択します。
[Configure (設定)] をクリックし、必要な JDBC ドライバーを追加して、次のいずれかを選択します。
Use local file (ローカルファイルを使用)
ローカルファイルを使用してライブラリをインストールします。
Add Maven dependency (Maven 連動関係を追加)
Maven 連動関係をインストールしてプロジェクトに追加します。
接続の [URL] を jdbc:oracle:thin:${oracle.user}/${oracle.password}@(DESCRIPTION=(ENABLE=BROKEN)(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=${oracle.host1})(PORT=${oracle.port}))(ADDRESS=(PROTOCOL=TCP)(HOST=${oracle.host2})(PORT=${oracle.port})))(CONNECT_DATA=(SERVICE_NAME=${oracle.service})))
に設定します。
[Driver class name (ドライバークラス名)] を oracle.jdbc.driver.OracleDriver
に設定します。
[Test Connection (接続をテスト)] をクリックして、データベースとの接続を検証します。
[OK] をクリックします。
次のスクリーンショットは、Studio の設定を示しています。
XML エディターでは、この設定は次のように記述されます。
<db:config name="Database_Config">
<db:generic-connection driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:${oracle.user}/${oracle.password}@(DESCRIPTION=(ENABLE=BROKEN)(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=${oracle.host1})(PORT=${oracle.port}))(ADDRESS=(PROTOCOL=TCP)(HOST=${oracle.host2})(PORT=${oracle.port}))(CONNECT_DATA=(SERVICE_NAME=${oracle.service})))` and *Driver class name* to `oracle.jdbc.driver.OracleDriver"/>
</db:config>