Java および EJB (Enterprise Java Bean) オブジェクトの作成と操作を行います。
<cfobject
type = "Java"
action = "Create"
class = "Java class"
name = "object name">
cfcollection、cfexecute、cfindex、cfreport、cfsearch、cfwddx、『ColdFusion MX 開発ガイド』のCFML アプリケーションへの J2EE および Java 要素の統合のJava オブジェクトの使用
| 属性 |
必須/ オプション |
デフォルト | 説明 |
|---|---|---|---|
|
type |
オプション |
|
オブジェクトタイプです。
その他のオブジェクトタイプは、 |
|
action |
必須 |
|
Create: Java または WebLogic 環境オブジェクトを作成します。 |
|
class |
必須 |
|
Java クラスです。 |
|
name |
必須 |
|
文字列です。インスタンス化されたコンポーネント名を指定します。 |
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 オブジェクトの作成と呼び出しを行うには、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()>
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7