⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transaction3.html

📁 j2eePDF格式的电子书
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80611"> </a><div class="pSmartList1"><li>In a terminal window, go to this directory:</li></div><a name="wp81065"> </a><p class="pBodyRelative"><code class="cCode">&lt;</code><code class="cVariable">INSTALL</code><code class="cCode">&gt;/j2eetutorial14/examples/ejb/bank/</code></p><a name="wp81077"> </a><div class="pSmartList1"><li>Start the PointBase server. For instructions, see <a  href="WebApp13.html#wp83431">Starting the PointBase Database Server</a>.</li></div><a name="wp81071"> </a><div class="pSmartList1"><li>Create the database tables and data by typing:</li></div><a name="wp80685"> </a><p class="pBodyRelative"><code class="cCode">asant create-db_common</code></p><a name="wp80682"> </a><div class="pSmartList1"><li>Type the following command to build the enterprise bean's classes and interfaces:</li></div><a name="wp80614"> </a><p class="pBodyRelative"><code class="cCode">asant build</code></p></ol></div><a name="wp80594"> </a><h3 class="pHeading2">Packaging the BankEJB Example</h3><a name="wp80470"> </a><p class="pBody">The <code class="cCode">BankEJB </code>session bean uses container-managed transactions. These steps assume you are familiar with the steps needed to create and deploy an enterprise application using deploytool, as described in <a  href="EJB.html#wp80471">Getting Started With Enterprise Beans</a>.</p><a name="wp80957"> </a><h4 class="pHeading3">Creating the J2EE Application</h4><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80576"> </a><div class="pSmartList1"><li>Create a new application named BankApp in:</li></div><a name="wp80580"> </a><p class="pBodyRelative"><code class="cCode">&lt;</code><code class="cVariable">INSTALL</code><code class="cCode">&gt;/j2eetutorial14/examples/ejb/bank/</code></p></ol></div><a name="wp80961"> </a><h4 class="pHeading3">Packaging the Enterprise Bean</h4><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80584"> </a><div class="pSmartList1"><li>Create a new enterprise bean in BankApp by selecting File<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>New<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>Enterprise Bean.</li></div><a name="wp80713"> </a><div class="pSmartList1"><li>In the EJB JAR screen:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp80714"> </a><div class="pSmartList2"><li>Select Create New JAR Module in Application.</li></div><a name="wp80721"> </a><div class="pSmartList2"><li>Enter <code class="cCode">BankJAR</code> under JAR Name.</li></div><a name="wp80722"> </a><div class="pSmartList2"><li>Click Edit.</li></div><a name="wp80726"> </a><div class="pSmartList2"><li>Navigate to <code class="cCode">&lt;</code><code class="cVariable">INSTALL</code><code class="cCode">&gt;/j2eetutorial14/examples/ejb/bank/build/</code>.</li></div><a name="wp80800"> </a><div class="pSmartList2"><li>Select <code class="cCode">Bank.class</code>, <code class="cCode">BankBean.class</code>, <code class="cCode">BankHome.class</code>, and <code class="cCode">InsufficientBalanceException.class</code>.</li></div><a name="wp80730"> </a><div class="pSmartList2"><li>Click Add.</li></div><a name="wp80731"> </a><div class="pSmartList2"><li>Click OK.</li></div><a name="wp80732"> </a><div class="pSmartList2"><li>Click Next.</li></div></ol></div><a name="wp80733"> </a><div class="pSmartList1"><li>In the General screen:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp80740"> </a><div class="pSmartList2"><li>Select <code class="cCode">BankBean</code> under Enterprise Bean Class.</li></div><a name="wp80744"> </a><div class="pSmartList2"><li>Enter <code class="cCode">BankEJB</code> under Enterprise Bean Name.</li></div><a name="wp80748"> </a><div class="pSmartList2"><li>Select Stateful Session under Enterprise Bean Type.</li></div><a name="wp80749"> </a><div class="pSmartList2"><li>Select <code class="cCode">BankHome</code> under Remote Home Interface.</li></div><a name="wp80750"> </a><div class="pSmartList2"><li>Select <code class="cCode">Bank</code> under Remote Interface.</li></div><a name="wp80751"> </a><div class="pSmartList2"><li>Select Next.</li></div></ol></div><a name="wp80755"> </a><div class="pSmartList1"><li>In the Configuration Options screen, select No under Expose Bean as Web Service End Point.</li></div><a name="wp80765"> </a><div class="pSmartList1"><li>Click Finish.</li></div><a name="wp80773"> </a><div class="pSmartList1"><li>Select BankEJB in deploytool's tree.</li></div><a name="wp80774"> </a><div class="pSmartList1"><li>In the Transactions tab:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp80775"> </a><div class="pSmartList2"><li>Select Container-Managed under Transaction Management.</li></div><a name="wp80779"> </a><div class="pSmartList2"><li>Verify that <code class="cCode">getCheckingBalance()</code>, <code class="cCode">getSavingBalance()</code>, and <code class="cCode">transferToSaving()</code> have the <code class="cCode">Required</code> Transaction Attribute.</li></div></ol></div></ol></div><a name="wp80947"> </a><h4 class="pHeading3">Packaging the J2EE Application Client</h4><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80832"> </a><div class="pSmartList1"><li>Create a new application client in BankApp by selecting File<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>New<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>Application Client.</li></div><a name="wp80850"> </a><div class="pSmartList1"><li>In the JAR File Contents screen:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp80851"> </a><div class="pSmartList2"><li>Select BankApp under Create New AppClient Module in Application.</li></div><a name="wp80855"> </a><div class="pSmartList2"><li>Enter BankClient under AppClient Name.</li></div><a name="wp80856"> </a><div class="pSmartList2"><li>Click Edit.</li></div><a name="wp80857"> </a><div class="pSmartList2"><li>Navigate to <code class="cCode">&lt;</code><code class="cVariable">INSTALL</code><code class="cCode">&gt;/j2eetutorial14/examples/ejb/bank/build/</code>.</li></div><a name="wp80862"> </a><div class="pSmartList2"><li>Select <code class="cCode">BankClient.class</code>.</li></div><a name="wp80863"> </a><div class="pSmartList2"><li>Click Add.</li></div><a name="wp80864"> </a><div class="pSmartList2"><li>Click OK.</li></div><a name="wp80868"> </a><div class="pSmartList2"><li>Click Next.</li></div></ol></div><a name="wp80872"> </a><div class="pSmartList1"><li>In the General screen:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp80873"> </a><div class="pSmartList2"><li>Select BankClient under Main Class.</li></div><a name="wp80877"> </a><div class="pSmartList2"><li>Select (Use container-managed authentication) under Callback Handler Class.</li></div><a name="wp80878"> </a><div class="pSmartList2"><li>Click Next.</li></div></ol></div><a name="wp80882"> </a><div class="pSmartList1"><li>Click Finish.</li></div></ol></div><a name="wp80769"> </a><h4 class="pHeading3">Specifying the Application Client's Enterprise Bean Reference</h4><a name="wp80886"> </a><p class="pBody">When it invokes the <code class="cCode">lookup</code> method, <code class="cCode">BankClient</code> refers to the home of an enterprise bean:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative">Object objref = initial.lookup(&quot;java:comp/env/ejb/SimpleBank&quot;);<a name="wp80897"> </a></pre></div><a name="wp80908"> </a><p class="pBody">You specify this reference as follows:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80909"> </a><div class="pSmartList1"><li>In the tree, select <code class="cCode">BankClient</code>.</li></div><a name="wp80916"> </a><div class="pSmartList1"><li>Select the EJB Refs tab.</li></div><a name="wp80917"> </a><div class="pSmartList1"><li>Click Add.</li></div><a name="wp80918"> </a><div class="pSmartList1"><li>In the Coded Name field enter <code class="cCode">ejb/SimpleBank</code>.</li></div><a name="wp80922"> </a><div class="pSmartList1"><li>In the EJB Type field select <code class="cCode">Session</code>.</li></div><a name="wp80923"> </a><div class="pSmartList1"><li>In the Interfaces field select <code class="cCode">Remote</code>.</li></div><a name="wp80927"> </a><div class="pSmartList1"><li>In the Home Interface field enter <code class="cCode">BankHome</code>.</li></div><a name="wp80928"> </a><div class="pSmartList1"><li>In the Local/Remote Interface field, enter <code class="cCode">Bank</code>.</li></div><a name="wp80929"> </a><div class="pSmartList1"><li>Click OK.</li></div><a name="wp80930"> </a><div class="pSmartList1"><li>Select the line you just added.</li></div><a name="wp80931"> </a><div class="pSmartList1"><li>Under Sun-specific Settings for <code class="cCode">ejb/SimpleBank</code> select JNDI Name.</li></div><a name="wp80932"> </a><div class="pSmartList1"><li>In the JNDI Name field select <code class="cCode">BankEJB</code>.</li></div><a name="wp80933"> </a><div class="pSmartList1"><li>Select File<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>Save.</li></div></ol></div><a name="wp80970"> </a><h4 class="pHeading3">Deploying the J2EE Application</h4><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp80981"> </a><div class="pSmartList1"><li>Select <code class="cCode">BankApp</code> in <code class="cCode">deploytool</code>.</li></div><a name="wp80991"> </a><div class="pSmartList1"><li>Select Tools<span style="font-family: Symbol"><img src="images/arrwrite.gif" border="0" alt="Right Arrow"></span>Deploy.</li></div><a name="wp80996"> </a><div class="pSmartList1"><li>Under Connection Settings, enter the user name and password for the J2EE application server.</li></div><a name="wp81001"> </a><div class="pSmartList1"><li>Tell deploytool to create a JAR file that contains the client stubs:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp81006"> </a><div class="pSmartList2"><li>Check the Return Client JAR box.</li></div><a name="wp81010"> </a><div class="pSmartList2"><li>In the field below the check box, enter <code class="cCode">&lt;</code><code class="cVariable">INSTALL</code><code class="cCode">&gt;/j2eetutorial14/examples/ejb/bank/</code>.</li></div></ol></div><a name="wp81028"> </a><div class="pSmartList1"><li>Click OK.</li></div><a name="wp81029"> </a><div class="pSmartList1"><li>In the Distribute Module dialog box click Close when the deployment completes successfully.</li></div></ol></div><a name="wp80974"> </a><h4 class="pHeading3">Running the J2EE Application Client</h4><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp81085"> </a><div class="pSmartList1"><li>In a terminal window, go to the <code class="cVariable">&lt;INSTALL&gt;</code><code class="cCode">/j2eetutorial14/<br />examples/ejb/bank/</code> directory.</li></div><a name="wp81086"> </a><div class="pSmartList1"><li>Type the following command:</li></div><a name="wp81087"> </a><p class="pBodyRelative"><code class="cCode">appclient -client BankAppClient.jar</code></p></ol></div><a name="wp81057"> </a><p class="pBody">In the terminal window, the client displays these lines:</p><div class="pPreformattedRelative"><pre class="pPreformattedRelative">checking: 60.0saving: 540.0<a name="wp81100"> </a></pre></div><a name="wp79926"> </a><h3 class="pHeading2">Methods Not Allowed in Container-Managed Transactions</h3><a name="wp79927"> </a><p class="pBody">You should not invoke any method that might interfere with the transaction boundaries set by the container. The list of prohibited methods follows:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp79932"> </a><div class="pSmartList1"><li>The <code class="cCode">commit</code>, <code class="cCode">setAutoCommit</code>, and <code class="cCode">rollback</code> methods of <code class="cCode">java.sql.Connection</code> </li></div><a name="wp79934"> </a><div class="pSmartList1"><li>The <code class="cCode">getUserTransaction</code> method of <code class="cCode">javax.ejb.EJBContext</code></li></div><a name="wp79936"> </a><div class="pSmartList1"><li>Any method of <code class="cCode">javax.transaction.UserTransaction</code></li></div></ul></div><a name="wp79937"> </a><p class="pBody">You may, however, use these methods to set boundaries in bean-managed transactions.</p>    </blockquote>   <img src="images/blueline.gif" width="550" height="8" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT="Divider">    <table width="550" summary="layout" id="SummaryNotReq1">      <tr>	<td align="left" valign="center">	<font size="-1">	<a href="http://java.sun.com/j2ee/1.4/download.html#tutorial" target="_blank">Download</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/faq.html" target="_blank">FAQ</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/history.html" target="_blank">History</a>	</td>        <td align="center" valign="center"><a accesskey="p" href="Transaction2.html"><img id="LongDescNotReq1" src="images/PrevArrow.gif" width="26" height="26" border="0" alt="Prev" /></a><a accesskey="c" href="J2EETutorialFront.html"><img id="LongDescNotReq1" src="images/UpArrow.gif" width="26" height="26" border="0" alt="Home" /></a><a accesskey="n" href="Transaction4.html"><img id="LongDescNotReq3" src="images/NextArrow.gif" width="26" height="26" border="0" alt="Next" /></a><a accesskey="i" href="J2EETutorialIX.html"></a>        </td>	<td align="right" valign="center">	<font size="-1">	<a href="http://java.sun.com/j2ee/1.4/docs/api/index.html" target="_blank">API</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/search.html" target="_blank">Search</a>	<br>	<a href="http://java.sun.com/j2ee/1.4/docs/tutorial/information/sendusmail.html" target="_blank">Feedback</a></font>	</font>	</td>      </tr>    </table>    <img src="images/blueline.gif" width="550" height="8" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT="Divider"><p><font size="-1">All of the material in <em>The J2EE(TM) 1.4 Tutorial</em> is <a href="J2EETutorialFront2.html">copyright</a>-protected and may not be published in other workswithout express written permission from Sun Microsystems.</font>  </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -