nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
アプリケーション開発において、様々なリソースを使用します。
ここで言うリソースは、使ったら終了処理をする必要があるもの、またトランザクション制御(コミット、ロールバック)が必要なものです。
リソースは、様々なインタフェースを持つので、終了処理やトランザクション制御を同じインタフェースで制御するために、リソースをラップして提供するインタフェースが、ResourceFactoryです。
関連するパッケージは、以下です。
アプリケーション向けインタフェースResourceFactoryは、リソースをラップしたTransactionResourceを提供するインタフェースです。
ResourceFactoryを使った簡単なアプリケーションのサンプルを示します。
- import java.sql.Connection;
- import jp.ossc.nimbus.core.ServiceManagerFactory;
- import jp.ossc.nimbus.service.resource.ResourceFactory;
- import jp.ossc.nimbus.service.resource.TransactionResource;
- // ReourceFactoryを取得
- ReourceFactory factory = (ReourceFactory)ServiceManagerFactory.getServiceObject("ReourceFactory");
- // リソースを生成する
- TransactionResource resource = factory.makeReource(null);
- try{
- // ラップされているリソースを取り出す
- Connection con = (Connection)resource.getObject();
- // コミットする
- resource.commit();
- }catch(Exception e){
- // ロールバックする
- resource.rollback();
- throw e;
- }finally{
- // リソースを終了する
- resource.close();
- }
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.resource.datasource.JdbcConnectionFactoryService | JDBCのConnectionをリソースとして取得する |
jp.ossc.nimbus.service.resource.http.HttpClientFactoryService | HttpClientをリソースとして取得する |
jp.ossc.nimbus.service.resource.jms.JMSSessionFactoryService | JMSのSessionをリソースとして取得する |
jp.ossc.nimbus.service.resource.jmsqueue.JmsQueueSessionService | JMSのQueueSessionをリソースとして取得する |
jp.ossc.nimbus.service.resource.jmstopic.JmsTopicSessionService | JMSのTopicSessionをリソースとして取得する |
jp.ossc.nimbus.service.resource.PooledResourceFactoryService | Jakarta Commons Poolを使って、リソースをプールする |