CFOBJECT: JAVA または EJB オブジェクト |
説明 Java および EJB (Enterprise Java Bean) オブジェクトの作成と操作を行います。
シンタックス
    <cfobject
       type = "Java"
       action = "Create"
       class = "Java class"
       name = "object name">
関連項目 cfcollection、cfexecute、cfindex、cfreport、cfsearch、cfwddx、『ColdFusion MX 開発ガイド』の第37章の「CFML アプリケーションへの J2EE および Java 要素の統合」 の「Java オブジェクトの使用」
使用方法 ColdFusion では、Java CFX または Java オブジェクトの呼び出しに、処理に組み込まれている JVM (Java Virtual Machine) を使用します。JVM の読み込み、保存場所および設定は、ColdFusion Administrator ページで指定できます。 ColdFusion Administrator で指定したクラスパスで使用可能な Java クラスは、cfobject タグを使用して ColdFusion からロードおよび使用が可能です。 Java メソッドとフィールドにアクセスするには、次の手順を実行します。 cfobject タグを呼び出し、クラスを読み込みます。コード例を参照してください。 適切な引数で init メソッドを使用して、コンストラクタを呼び出します。例 :
    <cfset ret = myObj.init(arg1, arg2)>
最初に init メソッドを呼び出さずにオブジェクト上のパブリックメソッドを呼び出すと、デフォルトのコンストラクタが暗黙のうちに呼び出されます。引数および戻り値は、任意の Java タイプ (simple、array、object) になります。ColdFusion では、文字列が引数として渡された場合に変換が行われますが、戻り値として返された場合には変換は行われません。 オーバーロードされたメソッドは、引数の数が異なる場合はサポートされます。
EJB の呼び出し EJB オブジェクトの作成と呼び出しを行うには、cfobject タグを使用します。この後の 2 番めの例では、WebLogic JNDI を使用して EJBHome インスタンスの登録と検出が行われます。
例
    <!--- Java オブジェクトの例です。cfobject 呼び出しによってクラス MyClass が読み込まれますが、インスタ
    ンスオブジェクトは作成されません。スタティックなメソッドおよびフィールドには、cfobject を呼び出した後
    にアクセスできます。 --->
    <cfobject
       action = "create"
       type = "java"
       class = "myclass"
       name = "myobj">

    <!---- EJB の例 - cfobject タグによって、Weblogic Environment オブジェクトが作成されます。これを
    使って InitialContext を取得します。このコンテキストオブジェクトを EJBHome インターフェイスの検索に
    使用します。Create() を呼び出すと、ステートレスセッション EJB のインスタンスが取得されます。 --->

    <cfobject
       action = "create"
       type = "java"
       class = "weblogic/jndi/Environment"
       name = "wlEnv">

    <cfset ctx = wlEnv.getInitialContext()>
    <cfset ejbHome = ctx.lookup("statelessSession.TraderHome")>
    <cfset trader = ejbHome.Create()>
    <cfset value = trader.shareValue(20, 55.45)>
    <cfoutput>
        Share value = #value#
    </cfoutput>
    <cfset value = trader.remove()>

TYPE |
| オプション
オブジェクトタイプです。 com corba java その他のオブジェクトタイプは、type 属性を取りません。

ACTION |
| 必須
Create: Java または WebLogic 環境オブジェクトを作成します。

CLASS |
| 必須
Java クラスです。

NAME |
| 必須
文字列です。インスタンス化されたコンポーネント名を指定します。