nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.connection.WrappedConnectionFactoryServiceは、他のConnectionFactoryから取得したjava.sql.Connectionを機能付加したラッパークラスでラップして返すConnectionFactory実装サービスです。
java.sql.Connectionに機能を付加するラッパークラスは、java.sql.Connectionインタフェースを実装し、java.sql.Connectionを引数に持つコンストラクタを持つ事が必須条件です。
NImbusでは、JDBCのラッパークラスの開発を支援するため、JDBCの各インタフェースのJDBCアダプタクラスを提供しています。
また、ジャーナル取得や、処理時間統計取得などの機能を組み込んだJDBCラッパークラスも提供しています。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.connection.ConnectionFactory | ラップするjava.sql.Connectionを取得する |
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- ラップしたConnectionを取得するConnectionFactoryサービス -->
- <service name="ConnectionFactory"
- code="jp.ossc.nimbus.service.connection.WrappedConnectionFactoryService">
- <!-- ラップする元となるConnectionを生成するConnectionFactoryサービスのサービス名を設定する -->
- <attribute name="ConnectionFactoryServiceName">#SourceConnectionFactory</attribute>
- <!-- ラップする元となるConnectionラッパークラス名を設定する -->
- <attribute name="ConnectionWrapperClassName">jp.ossc.nimbus.util.sql.WrappedConnection</attribute>
- <!-- Connectionラッパーに設定するプロパティを設定する -->
- <attribute name="ConnectionWrapperProperties">
- <object code="java.util.LinkedHashMap">
- <!-- Statementラッパーに設定するプロパティを設定する -->
- <attribute name="StatementProperties">
- <object code="java.util.HashMap">
- <!-- StatementラッパーにSQLMetricsCollectorサービスを設定する -->
- <attribute name="SQLMetricsCollector">
- <service-ref>#SQLMetricsCollector</service-ref>
- </attribute>
- </object>
- </attribute>
- </object>
- </attribute>
- <depends>SourceConnectionFactory</depends>
- <depends>SQLMetricsCollector</depends>
- </service>
- <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
- <service name="SourceConnectionFactory"
- code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
- <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
- <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
- <attribute name="UserName">sa</attribute>
- <attribute name="Password"></attribute>
- </service>
- <!-- SQLメトリクス取得サービス -->
- <service name="SQLMetricsCollector"
- code="jp.ossc.nimbus.service.connection.SQLMetricsCollectorService"/>
- </manager>
- </server>
Nimbusが提供するJDBCラッパークラスのjp.ossc.nimbus.util.sql.WrappedConnection向けのインタフェースで、JDBC経由で実行されたSQLの処理時間の統計を取得します。
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.connection.SQLMetricsCollectorService | デフォルト実装 |