Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第28章 Bean共通編> 28.4 Enterprise Bean Environmentの利用

28.4.3 リソースマネージャの参照

 リソースマネージャの参照方法について説明します。

■ deployment descriptorに設定されている参照リソース情報

 リソースマネージャを参照するには、deployment descriptorの参照リソース情報にリソースマネージャ名を設定してください。運用環境にセットアップするリソースマネージャ名を、deployment descriptorの参照リソース情報に記述されたリソースマネージャ名と同じ名前に設定することにより、リソースマネージャを参照できます。

 以下に示す方法で、運用環境にセットアップするリソースマネージャ名を、deployment descriptorの参照リソース情報に記述されたリソースマネージャ名と同じ名前に設定します。



使用するリソースマネージャ

運用環境にセットアップするリソースマネージャ名の設定方法

JDBCデータソース

J2EE管理ツールまたはJNDI運用コマンド(fjj2eeadmin)でデータソース名を設定する。(※)

JMSコネクションファクトリ

J2EE管理ツールまたはJMSのコマンド(jmsmkfact)でコネクションファクトリ名を設定する。

JavaMail

J2EE管理ツールまたはJNDI運用コマンド(fjj2eeadmin)でリソース名を設定する。(※)

URL
(Uniform Resource Locator)

WWW上にURLを設定する。

connector

J2EE管理ツールでresource adapterファイルを配備するときにリソース名を指定する。

 リソースマネージャ以外に、JMSのDestinationのlookupができます。JMSのDestinationを参照するには、deployment descriptorの参照環境リソース情報にJMSのDestination名を設定してください。

lookupを行う対象

運用環境にセットアップするリソースマネージャ名の設定方法

JMSのDestination

J2EE管理ツールまたはJMSのコマンド(jmsmkdst)でDestination名を設定する。

(※)J2EE管理ツールの詳細については、“J2EE管理ツール”を参照してください。JNDI運用コマンドについては、“リファレンスマニュアル(コマンド編)”の“JNDI運用コマンド”を参照してください。

image

 “名前変換ファイル”を使用すると、運用環境にセットアップするリソースマネージャ名(もしくは、JMS Destination名)と、deployment descriptorの参照リソース情報に記述されたリソースマネージャ名(もしくは、JMS Destination名)を異なる名前に設定した場合でも、リソースマネージャの参照ができます。
 名前変換ファイルは、運用環境にセットアップするリソースマネージャ名と、deployment descriptorの参照リソース情報に記述されたリソースマネージャ名の対応づけを行うためのファイルです。名前変換ファイルの使用方法についての詳細は、“deployment descriptorの参照名と運用環境の実名との対応づけ”を参照してください。

 参照リソース情報と参照環境リソース情報の設定方法の詳細は、Apworksの"Apdesigner プログラマーズガイド"または"Apdesigner V5.0 ユーザーズガイド"および"コンポーネントデザイナ ユーザーズガイド"(注:Plus Developerでは提供していません)を参照してください。

 参照リソース情報のリソースマネージャ名に情報が設定されている場合、カストマイズツールの参照リソースタグにそれぞれ以下のように表示されます。

使用するリソースマネージャ

参照リソースタグのリソースマネージャ名

JDBCデータソース

jdbc/xxx (xxxは、データソース名)

JMSコネクションファクトリ

jms/xxx (xxxは、コネクションファクトリ名)

JavaMail

mail/xxx (xxxは、メールソース名)

URL
(Uniform Resource Locator)

url/xxx (xxxは、URL)

connectorコネクションファクトリ

eis/xxx (xxxは、コネクションファクトリ名)

 参照環境リソース情報にJMS Destinationが設定されている場合、カストマイズツールの参照環境リソースタグにそれぞれ以下のように表示されます。

使用する環境リソース

参照環境リソースタグの設定値

JMS Destination名

jms/xxx (xxxは、JMS Destination名)

 以下に、JDBCデータソースを使用した場合の例を示します。

 “リソースマネージャ名”に表示されている名前(この例の場合、“EmployeeAppDB”)をlookup処理に記述します。

image

■ lookupの記述形式

 参照するリソースマネージャを以下のそれぞれの記述形式のとおりに記述してlookupを行ってください。

[JDBCデータソースを使用した場合]

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    javax.sql.DataSource rs = (javax.sql.DataSource)ic.lookup("java:comp/env/jdbc/xxx ");      (2)

-------------------------------------------------------------------------------------------------
  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    クラス/インタフェース名には、javax.sql.DataSourceを指定してください。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/jdbc/xxx")を指定してください。“xxx”には、データソース名を指定します。

[JMSコネクションファクトリを使用した場合]

JMSコネクションファクトリがjavax.jms.TopicConnectionFactoryの場合

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    javax.jms.TopicConnectionFactory rs = (javax.jms.TopicConnectionFactory)ic.lookup("java:comp/env/jms/xxx ");      (2)

-------------------------------------------------------------------------------------------------

JMSコネクションファクトリがjavax.jms.QueueConnectionFactoryの場合

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    javax.jms.Queue ConnectionFactory rs = (javax.jms.QueueConnectionFactory)ic.lookup("java:comp/env/jms/xxx ");      (2)

-------------------------------------------------------------------------------------------------
  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    クラス/インタフェース名には、javax.jms.TopicConnectionFactoryまたはjavax.jms.QueueConnectionFactoryを指定してください。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/jms/xxx")を指定してください。“xxx”には、コネクションファクトリ名を指定します。

[JavaMailを使用した場合]

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    javax.mail.Session rs = (javax.mail.Session)ic.lookup("java:comp/env/mail/xxx ");      (2)

-------------------------------------------------------------------------------------------------
  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    クラス/インタフェース名には、javax.mail.Sessionを指定してください。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/mail/xxx")を指定してください。“xxx”には、メールソース名を指定します。

[URLを使用した場合]

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    java.net.URL rs = (java.net.URL)ic.lookup("java:comp/env/url/xxx ");      (2)

-------------------------------------------------------------------------------------------------
  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    クラス/インタフェース名には、java.net.URLを指定してください。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/url/xxx")を指定してください。“xxx”には、URLを指定します。

参照するJMSのDestinationを以下の記述形式のとおりに記述してlookupを行ってください。

[connectorコネクションファクトリを使用した場合]

connectorコネクションファクトリがjavax.resource.cci.ConnectionFactory型の場合

-------------------------------------------------------------------------------------------------

    javax.naming.Context ic = new javax.naming.InitialContext();      (1)
    javax.resource.cci.ConnectionFactory cf = (javax.resource.cci.ConnectionFactory) ic.lookup("java:comp/env/eis/xxx");      (2)

-------------------------------------------------------------------------------------------------
  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/eis/xxx")を指定してください。“xxx”には、コネクションファクトリ名を指定します。

[JMSのDestinationを使用した場合]

JMSのDestinationがTopicの場合

-------------------------------------------------------------------------------------------------

javax.naming.Context ic = new javax.naming.InitialContext(); ・・・(1)
javax.jms.Topic topic = (javax.jms.Topic)ic.lookup("java:comp/env/jms/xxx "); ・・・(2)

-------------------------------------------------------------------------------------------------

JMSのDestinationがQueueの場合

-------------------------------------------------------------------------------------------------

javax.naming.Context ic = new javax.naming.InitialContext(); ・・・(1)
javax.jms.Queue queue = (javax.jms.Queue)ic.lookup("java:comp/env/jms/xxx "); ・・・(2)

-------------------------------------------------------------------------------------------------

  1. lookupするためのContextを作成します。このとおりに記述してください。
  2. lookupを行います。
    引数には、Enterprise Bean Environment で規定された形式("java:comp/env/jms/xxx")を指定してください。“xxx”には、Destination名を指定します。

◆ 補足

 lookupする場合、以下のように段階的にContextをlookupをすることも可能です。

-------------------------------------------------------------------------------------------------

javax.naming.Context cxEnv = (Context)ic.lookup("java:comp/env");
javax.sql.DataSource rs = (javax.sql.DataSource) cxEnv.lookup("jdbc/xxx");

-------------------------------------------------------------------------------------------------
"jdbc"などのサブコンテキストについても段階的にlookupをすることもできますが、JMSのDestinationについてはサブコンテキスト"jms"とDestination名を分けてlookupすることはできません。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006