<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="mmres://user_interface_reference.css" rel="stylesheet" type="text/css">
<title>CFOBJECT: JAVA または EJB オブジェクト</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
   <div id="説明">
   <table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
      <tr> 
         <td valign="top" class="name">CFOBJECT: JAVA または EJB オブジェクト</td>
         <td valign="top" nowrap class="compatibility">&nbsp;</td>
      </tr>
      <tr>
         <td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
      </tr>


    </td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="description"><span class="title">説明</span>
<p>
Java および EJB (Enterprise Java Bean) オブジェクトの作成と操作を行います。 
</p>
  <tr>
    <td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="syntax"><span class="title">シンタックス</span><pre>&lt;cfobject
   type = &quot;Java&quot;
   action = &quot;Create&quot;
   class = &quot;Java class&quot;
   name = &quot;object name&quot;&gt;
</pre>    </td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="description"><span class="title">関連項目</span>
<p>
cfcollection、cfexecute、cfindex、cfreport、cfsearch、cfwddx、『ColdFusion MX 開発ガイド』の第37章の「CFML アプリケーションへの J2EE および Java 要素の統合」 の「Java オブジェクトの使用」
</p>

<p>

</p>
    </td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="description"><span class="title">使用方法</span>
<p>
ColdFusion では、Java CFX または Java オブジェクトの呼び出しに、処理に組み込まれている JVM (Java Virtual Machine) を使用します。JVM の読み込み、保存場所および設定は、ColdFusion Administrator ページで指定できます。
</p>

<p>
ColdFusion Administrator で指定したクラスパスで使用可能な Java クラスは、cfobject タグを使用して ColdFusion からロードおよび使用が可能です。
</p>

<p>
Java メソッドとフィールドにアクセスするには、次の手順を実行します。
</p>
<ol type="1">

<li>cfobject タグを呼び出し、クラスを読み込みます。コード例を参照してください。</li>

<li>適切な引数で init メソッドを使用して、コンストラクタを呼び出します。例 : </li>
<pre>&lt;cfset ret = myObj.init(arg1, arg2)&gt;
</pre></ol>

<p>
最初に init メソッドを呼び出さずにオブジェクト上のパブリックメソッドを呼び出すと、デフォルトのコンストラクタが暗黙のうちに呼び出されます。引数および戻り値は、任意の Java タイプ (simple、array、object) になります。ColdFusion では、文字列が引数として渡された場合に変換が行われますが、戻り値として返された場合には変換は行われません。
</p>

<p>
オーバーロードされたメソッドは、引数の数が異なる場合はサポートされます。 
</p>
    </td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="description"><span class="title">EJB の呼び出し</span>
<p>
EJB オブジェクトの作成と呼び出しを行うには、cfobject タグを使用します。この後の 2 番めの例では、WebLogic JNDI を使用して EJBHome インスタンスの登録と検出が行われます。
</p>
    </td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" colspan="2" class="description"><span class="title">例</span><pre>&lt;!--- Java オブジェクトの例です。cfobject 呼び出しによってクラス MyClass が読み込まれますが、インスタ
ンスオブジェクトは作成されません。スタティックなメソッドおよびフィールドには、cfobject を呼び出した後
にアクセスできます。 ---&gt;
&lt;cfobject
   action = &quot;create&quot;
   type = &quot;java&quot;
   class = &quot;myclass&quot;
   name = &quot;myobj&quot;&gt;


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

&lt;cfobject
   action = &quot;create&quot;
   type = &quot;java&quot;
   class = &quot;weblogic/jndi/Environment&quot;
   name = &quot;wlEnv&quot;&gt;

&lt;cfset ctx = wlEnv.getInitialContext()&gt;
&lt;cfset ejbHome = ctx.lookup(&quot;statelessSession.TraderHome&quot;)&gt;
&lt;cfset trader = ejbHome.Create()&gt;                
&lt;cfset value = trader.shareValue(20, 55.45)&gt;                   
&lt;cfoutput&gt;
    Share value = #value#
&lt;/cfoutput&gt;
&lt;cfset value = trader.remove()&gt;
</pre>
         </td>
      </tr>
   </table>
   </div>
<div id="TYPE">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>  
<td valign="top" class="name">TYPE</td>
  <td valign="top" nowrap class="compatibility">&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
  </tr>

  <tr>
  <td valign="top" class="syntax">&nbsp;</td>
  <td valign="top" nowrap class="requirements">オプション</td>
  </tr>
  <tr>
  <td colspan="2" class="clearseparation">&nbsp;</td>
  </tr>
  <tr>
  <td valign="top" colspan="2" class="description">



<p>オブジェクトタイプです。</p><ul>

<li>com</li>

<li>corba</li>

<li>java</li>
</ul>

<p>その他のオブジェクトタイプは、type 属性を取りません。</p>

  </td>
  </tr>
  </table>
</div>
<div id="ACTION">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>  
<td valign="top" class="name">ACTION</td>
  <td valign="top" nowrap class="compatibility">&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
  </tr>

  <tr>
  <td valign="top" class="syntax">&nbsp;</td>
  <td valign="top" nowrap class="requirements">必須</td>
  </tr>
  <tr>
  <td colspan="2" class="clearseparation">&nbsp;</td>
  </tr>
  <tr>
  <td valign="top" colspan="2" class="description">



<p>Create: Java または WebLogic 環境オブジェクトを作成します。</p>

  </td>
  </tr>
  </table>
</div>
<div id="CLASS">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>  
<td valign="top" class="name">CLASS</td>
  <td valign="top" nowrap class="compatibility">&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
  </tr>

  <tr>
  <td valign="top" class="syntax">&nbsp;</td>
  <td valign="top" nowrap class="requirements">必須</td>
  </tr>
  <tr>
  <td colspan="2" class="clearseparation">&nbsp;</td>
  </tr>
  <tr>
  <td valign="top" colspan="2" class="description">



<p>Java クラスです。</p>

  </td>
  </tr>
  </table>
</div>
<div id="NAME">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>  
<td valign="top" class="name">NAME</td>
  <td valign="top" nowrap class="compatibility">&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
  </tr>

  <tr>
  <td valign="top" class="syntax">&nbsp;</td>
  <td valign="top" nowrap class="requirements">必須</td>
  </tr>
  <tr>
  <td colspan="2" class="clearseparation">&nbsp;</td>
  </tr>
  <tr>
  <td valign="top" colspan="2" class="description">



<p>文字列です。インスタンス化されたコンポーネント名を指定します。</p>

  </td>
  </tr>
  </table>
</div>

  </body>
</html>
