ConnectionFactory実装サービス jp.ossc.nimbus.service.connection.WrappedConnectionFactoryService

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を取得する

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- ラップしたConnectionを取得するConnectionFactoryサービス -->
  8. <service name="ConnectionFactory"
  9. code="jp.ossc.nimbus.service.connection.WrappedConnectionFactoryService">
  10. <!-- ラップする元となるConnectionを生成するConnectionFactoryサービスのサービス名を設定する -->
  11. <attribute name="ConnectionFactoryServiceName">#SourceConnectionFactory</attribute>
  12. <!-- ラップする元となるConnectionラッパークラス名を設定する -->
  13. <attribute name="ConnectionWrapperClassName">jp.ossc.nimbus.util.sql.WrappedConnection</attribute>
  14. <!-- Connectionラッパーに設定するプロパティを設定する -->
  15. <attribute name="ConnectionWrapperProperties">
  16. <object code="java.util.LinkedHashMap">
  17. <!-- Statementラッパーに設定するプロパティを設定する -->
  18. <attribute name="StatementProperties">
  19. <object code="java.util.HashMap">
  20. <!-- StatementラッパーにSQLMetricsCollectorサービスを設定する -->
  21. <attribute name="SQLMetricsCollector">
  22. <service-ref>#SQLMetricsCollector</service-ref>
  23. </attribute>
  24. </object>
  25. </attribute>
  26. </object>
  27. </attribute>
  28. <depends>SourceConnectionFactory</depends>
  29. <depends>SQLMetricsCollector</depends>
  30. </service>
  31. <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
  32. <service name="SourceConnectionFactory"
  33. code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
  34. <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
  35. <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
  36. <attribute name="UserName">sa</attribute>
  37. <attribute name="Password"></attribute>
  38. </service>
  39. <!-- SQLメトリクス取得サービス -->
  40. <service name="SQLMetricsCollector"
  41. code="jp.ossc.nimbus.service.connection.SQLMetricsCollectorService"/>
  42. </manager>
  43. </server>

WrappedConnection向けインタフェースSQLMetricsCollector

Nimbusが提供するJDBCラッパークラスjp.ossc.nimbus.util.sql.WrappedConnection向けのインタフェースで、JDBC経由で実行されたSQLの処理時間の統計を取得します。

実装サービスの一覧は以下のとおりです。

実装サービス実装概要
jp.ossc.nimbus.service.connection.SQLMetricsCollectorServiceデフォルト実装


JDBC/ConnectionFactory