<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title></title>
    <description></description>
    <link>http://eimhee.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>JBoss中EJB的开发 </title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/233630" style="color:red;">http://eimhee.javaeye.com/blog/233630</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h3><span lang="EN-US">1．JBoss简介</span></h3>
<p class="MsoNormal" style="text-indent: 18pt;"><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">是一个运行</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用服务器。它是开放源代码的项目，遵循最新的</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">规范。从</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">项目开始至今，它已经从一个</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">容器发展成为一个基于的</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的一个</span><span lang="EN-US">web </span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">操作系统（</span><span lang="EN-US">operating system for web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">），它体现了</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">规范中最新的技术，并且它还在</span><span lang="EN-US">the JavaWorld Editors' Choice 2002</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">评选中获得&ldquo;最佳</span><span lang="EN-US">Java</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用服务器&rdquo;大奖。无论是学习还是应用，</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">为我们提供了一个非常优秀的平台。有关</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的详细信息请参阅其主页</span><span lang="EN-US">http://www.jboss.org</span><span style="font-size: 7.5pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span><span lang="EN-US" style="font-size: 7.5pt;"></span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">刚开始使用</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">进行</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">开发时，由于可供参考的资源不是很多，所以有一个比较困难的起步阶段。</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的配置和使用没有提供图形向导界面，所以开发部署</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">相对比较复杂。本文通过尽量具体的演示来对</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">下的</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">开发和部署的进行一个简单的介绍，从而使刚开始使用</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的用户可以很快地进入到真正的</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用开发中。</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">由于本文主要介绍</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中不同类型</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的配置和部署，不对基本的</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">开发做太多的描述，所以希望读者具有</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的经验。想要了解有关信息请查阅参考资料</span><span lang="EN-US">1</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span></p>
<h3><span lang="EN-US">2．JBoss3.0中基本的ejb配置和部署</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">根据</span><span lang="EN-US">J2EE</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">规范的要求，一个基本的</span><span lang="EN-US">ejb jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包使用的描述文件是</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用的</span><span lang="EN-US">war</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包使用的是</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。企业应用的</span><span lang="EN-US">ear</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包使用的是</span><span lang="EN-US">application.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。这些配置文件都是中性的和平台无关的。同时应用服务器可以使用一些其他的配置文件用于描述特定服务器的相关信息。在</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中这样的文件有</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">，</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">等。</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">容器中这些文件不是必须的，如果提供了那么</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">放在同一目录下，</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">放在同一目录下。关于</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的规范请参考</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">安装目录下</span><span lang="EN-US">docs/dtd/</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下的对应的</span><span lang="EN-US">DTD</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件。</span></p>
<h3><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 13.5pt;">2．1 JBoss中关于EJB客户端的配置：</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">调用</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的客户端可以是</span><span lang="EN-US">JSP</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">、</span><span lang="EN-US">Servlet</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">或客户端应用程序。如果客户端和服务器不在同一个</span><span lang="EN-US">Java VM</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">上，那么在客户端必须提供一个</span><span lang="EN-US">jndi.properties</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件告诉客户端进行有关</span><span lang="EN-US">JNDI</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">命名服务的信息，并且把这个文件所在目录设定到环境变量</span><span lang="EN-US">classpath</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">以下是一个</span><span lang="EN-US">jndi.properties</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的样例：</span></p>
<pre><span lang="EN-US">java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory</span></pre>
<pre><span lang="EN-US">java.naming.provider.url=localhost:1099<span style="mso-spacerun: yes;">  </span></span><span lang="EN-US" style="font-size: 10.5pt; color: windowtext; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt;">(</span><span style="font-size: 10.5pt; color: windowtext; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman';">服务器地址和端口号</span><span lang="EN-US" style="font-size: 10.5pt; color: windowtext; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt;">)</span></pre>
<pre><span lang="EN-US">java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces</span></pre>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">通过这个文件和</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的一些客户端类库，就可以使用</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">提供的</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象服务了。</span></p>
<h3><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 13.5pt;">2．2 JBoss中部署EJB：</span><span lang="EN-US" style="font-weight: normal; font-size: 12pt; mso-bidi-font-size: 13.5pt;"></span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">首先介绍</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">容器中部署各类</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象的两种方法。下面的演示以</span><span lang="EN-US">Session Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">为例，客户端是一个本机上的</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用。这里不对演示程序进行具体介绍。</span></p>
<p class="MsoNormal"><strong><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">第一种方式：</span><span lang="EN-US"></span></strong></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">把开发好的</span><span lang="EN-US">ejb jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包和</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用的</span><span lang="EN-US">war</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包公共放在</span><span lang="EN-US">deploy</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">演示</span><span lang="EN-US">1</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">：不需要</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件和其他任何特殊的设置。</span></p>
<p class="MsoNormal"><span lang="EN-US">ejb-jar.xml:</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&lt;ejb-jar&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 2;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-name&gt;<span style="color: red;">ejbtest</span>&lt;/ejb-name&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&lt;/ejb-jar&gt;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">客户端：</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用中对</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">不需要添加</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">信息，不需要</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件。引用</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象的</span><span lang="EN-US">jsp</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件如下：</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>InitialContext ctx = new InitialContext();</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Object objref<span style="mso-spacerun: yes;">&nbsp; </span>= ctx.lookup("<span style="color: red;">ejbtest</span>");<span style="mso-tab-count: 2;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">使用</span><span lang="EN-US">&lt;ejb-name&gt;<span style="mso-tab-count: 4;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>beanHome=(zcxejb1Home)PortableRemoteObject.narrow(objref,ejbtestHome.class);</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">演示</span><span lang="EN-US">2</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">：使用</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件。</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">在缺省情况下</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">JNDI</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">服务将通过</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中</span><span lang="EN-US">&lt;ejb-name&gt;XXX&lt;/ejb-name&gt;</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中的</span><span lang="EN-US">XXX</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">来使用</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">home interface</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。但是如果有多个</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象在相同的</span><span lang="EN-US">ejb jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包中，在</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中通过</span><span lang="EN-US">&lt;ejb-name&gt;XXX&lt;/ejb-name&gt;</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">就可能不能很好的表示某一个</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象，所以一般我们希望可以提供一些附加的信息，例如采用这样的格式</span><span lang="EN-US">"[</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用名</span><span lang="EN-US">]/[bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">名</span><span lang="EN-US">]"</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">来引用一个</span><span lang="EN-US">EJB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象。这时</span><span lang="EN-US">JNDI</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">服务就可能不能正确地找到你的</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象，我们就需要使用</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件，通过它实现</span><span lang="EN-US">jndi </span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">名到</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">名的重定向。这个文件必须和</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">一起放到</span><span lang="EN-US">META-INFO</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下。</span></p>
<p class="MsoNormal"><span lang="EN-US">ejb-jar.xml:</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;ejb-jar&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-name&gt;<span style="color: red;">ejbtest</span>&lt;/ejb-name&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;/ejb-jar&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">jboss.xml:</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;jboss&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-name&gt;<span style="color: red;">ejbtest</span>&lt;/ejb-name&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;jndi-name&gt;<span style="color: red;">example/ejbtest</span>&lt;/jndi-name&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;/jboss&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">客户端：需要使用新的</span><span lang="EN-US">jndi</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">名进行</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">定位。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>InitialContext ctx = new InitialContext();</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Object objref<span style="mso-spacerun: yes;">&nbsp; </span>= ctx.lookup("<span style="color: red;">example/ejbtest</span>");<span style="mso-tab-count: 1;">&nbsp;&nbsp; </span>//</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">使用</span><span lang="EN-US">&lt;jndi-name&gt;<span style="mso-tab-count: 4;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>beanHome=(zcxejb1Home)PortableRemoteObject.narrow(objref,ejbtestHome.class);</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><strong><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">第二种方式：</span><span lang="EN-US"> </span></strong></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">把</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用包装成一个企业应用包。部署</span><span lang="EN-US">ear</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">时可以简单地把通过</span><span lang="EN-US">application.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">描述</span><span lang="EN-US">ejb jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包和</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用的</span><span lang="EN-US">war</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包，同样在</span><span lang="EN-US">web.war</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中不需要提供特殊的信息就可以和第一种方式一样使用</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象。客户端代码也不需要进行改动。这里不再举例说明。</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">此外我们可以进行更进一步的部署，这时需要使用到</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">是</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">提供的一个针对</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用进行配置的文件。</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">一起放在</span><span lang="EN-US">web</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">应用的</span><span lang="EN-US">WEB-INF</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">演示</span><span lang="EN-US">1</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">：改动</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件，添加</span><span lang="EN-US">&lt;ejb-ref&gt;</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">标记，不使用</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件。</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">（注意</span><span lang="EN-US">&lt;ejb-ref&gt;</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包括内部引用和外部引用。如果是同一个单元的可以通过</span><span lang="EN-US">&lt;ejb-link&gt;</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">直接进行引用，而不用提供其他信息。）</span></p>
<p class="MsoNormal"><span lang="EN-US">web.xml:</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;ejb-ref&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp; </span>&lt;ejb-ref-name&gt;<span style="color: red;">ejb/ejbtest</span>&lt;/ejb-ref-name&gt;<span style="mso-spacerun: yes;">&nbsp; </span>&lt;!--</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">采用</span><span lang="EN-US">sun</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">推荐的命名方式</span><span lang="EN-US">--&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-ref-type&gt;Session&lt;/ejb-ref-type&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;home&gt;org.zcx.test.zcxejb1Home&lt;/home&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;remote&gt;org.zcx.test.zcxejb1&lt;/remote&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-link&gt;<span style="color: red;">ejbtest</span>&lt;/ejb-link&gt;<span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp; </span>&lt;!--</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">必须和被应用的</span><span lang="EN-US">ejb-name</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">匹配</span><span lang="EN-US">--&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;/ejb-ref&gt;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">客户端：由于在</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中引入</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">引用描述这时</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">定位发生了变化：</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>InitialContext ctx = new InitialContext();</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Object objref<span style="mso-spacerun: yes;">&nbsp; </span>= ctx.lookup("<span style="color: red;">java:comp/env/ ejb/ejbtest </span>");<span style="mso-tab-count: 1;"> </span>//</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">使用</span><span lang="EN-US">java:comp/env</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">命名空间</span><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>beanHome=(zcxejb1Home)PortableRemoteObject.narrow(objref,ejbtestHome.class);</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">演示</span><span lang="EN-US">2</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">：联合使用</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">jboss-web.xml</span></p>
<p class="MsoNormal"><span lang="EN-US">web.xml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;ejb-ref&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&lt;ejb-ref-name&gt;<span style="color: red;">ejb/ejbtest</span>&lt;/ejb-ref-name&gt;<span style="mso-spacerun: yes;">&nbsp; </span>&lt;!--</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">采用</span><span lang="EN-US">sun</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">推荐的命名方式</span><span lang="EN-US">--&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ejb-ref-type&gt;Session&lt;/ejb-ref-type&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;home&gt;org.zcx.test.zcxejb1Home&lt;/home&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;remote&gt;org.zcx.test.zcxejb1&lt;/remote&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;/ejb-ref&gt;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">&middot;&middot;&middot;&middot;&middot;&middot;</span></p>
<p class="MsoNormal"><span lang="EN-US">jboss-web.xml</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;ejb-ref&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&lt;ejb-ref-name&gt; <span style="color: red;">ejb/ejbtest</span> &lt;/ejb-ref-name&gt;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">&lt;jndi-name&gt;<span style="color: red;"> example/ejbtest</span> &lt;/jndi-name&gt; &lt;!-- </span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">这里对应</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象的</span><span lang="EN-US">jndi</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">名</span><span lang="EN-US">--&gt;</span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;/ejb-ref&gt;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">客户端：</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>nitialContext ctx = new InitialContext();</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Object objref<span style="mso-spacerun: yes;">&nbsp; </span>= ctx.lookup("java:comp/env/<span style="color: red;"> ejb/ejbtest</span> ");<span style="mso-tab-count: 2;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 4;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>beanHome=(zcxejb1Home)PortableRemoteObject.narrow(objref,ejbtestHome.class);</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">以上的所有演示说明了</span><span lang="EN-US">ejb-jar.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">、</span><span lang="EN-US">jboss.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">、</span><span lang="EN-US">web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">、</span><span lang="EN-US">jboss-web.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">之间的基本关系和它们的使用方式。它们是部署各类</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象的关键文件。接下来介绍针对不同类型的</span><span lang="EN-US">ejb</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">对象所需要的特殊配置。</span></p>
<h3><span lang="EN-US">3．JBoss3.0中对于CMP2.0 Entity Bean的有关配置</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中</span><span lang="EN-US">JBossCMP</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">引擎实现了</span><span lang="EN-US">EJB2.0 CMP2.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">规范。</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">以前的版本</span><span lang="EN-US">CMP</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的引擎是</span><span lang="EN-US">Jaws</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">，它通过</span><span lang="EN-US">standardjaws.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">jaws.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">进行有关的配置。在新的</span><span lang="EN-US">JBossCMP</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">引擎中</span><span lang="EN-US">Jboss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">通过</span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">josscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">来配置</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">首先处理</span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">然后根据</span><span lang="EN-US">ejb jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中是否提供</span><span lang="EN-US">jbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">来做进一步处理。通过</span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">jbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">可以为</span><span lang="EN-US">entity bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的部署提供如下的功能有：</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt; mso-list: l8 level1 lfo5;"><span lang="EN-US" style="font-family: Wingdings;">l<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">指定所使用的数据源和对应的类型映射</span><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt; mso-list: l8 level1 lfo5;"><span lang="EN-US" style="font-family: Wingdings;">l<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">指定一些引擎关心的属性</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt; mso-list: l8 level1 lfo5;"><span lang="EN-US" style="font-family: Wingdings;">l<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">指定引擎如何创建和管理数据库表的原则</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt; mso-list: l8 level1 lfo5;"><span lang="EN-US" style="font-family: Wingdings;">l<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">描述</span><span lang="EN-US">finder</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">和</span><span lang="EN-US">ejbSelect</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">方法</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt; mso-list: l8 level1 lfo5;"><span lang="EN-US" style="font-family: Wingdings;">l<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">指定属性和字段的类型映射</span><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">这里主要根据</span><span lang="EN-US">standardjbosscmp-jdbc.xml/jbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">介绍</span><span lang="EN-US">CMP2.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的配置方法。</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中原有的</span><span lang="EN-US">Jaws</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">引擎的配置方法和新的</span><span lang="EN-US">JBossCMP</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的配置方法类似。这些文件的具体的信息可以参考</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">安装路径下</span><span lang="EN-US">\docs\dtd</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中对应的</span><span lang="EN-US">DTD</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件。</span></p>
<h3><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 13.5pt;">3．1增加新的数据源</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">自带的数据库是</span><span lang="EN-US">Hypersonic</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">数据库，我们可以增加一些新的数据源。具体的步骤很简单，参照</span><span lang="EN-US">Jboss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">安装目录下</span><span lang="EN-US">\docs\examples\jca</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中的</span><span lang="EN-US">*-service.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件可以增加找到对应类型的数据库配置样本文件。以</span><span lang="EN-US">mysql-service.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件为例，它可以配置一个</span><span lang="EN-US">MySQL</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">数据库作为</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的数据源。以下演示创建一个名为</span><span lang="EN-US">MySQLDS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">MySQL</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">数据源。</span></p>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">图一是配置好的</span><span lang="EN-US">mysql-service.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件的一段代码样本，通过属性设置可以定制数据源的名称和有关连接的其他属性。注意该文件中所有</span><span lang="EN-US">name</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">属性必须保持一致。</span></p>
<p class="MsoNormal" align="center" style="text-align: center;"><span lang="EN-US"></span></p>
<p class="MsoNormal" align="center" style="text-align: center;"><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">图一</span><span lang="EN-US" style="font-size: 9pt; mso-bidi-font-size: 12.0pt;"> mysql-servic.xml</span><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">的样本代码</span><span lang="EN-US" style="font-size: 9pt; mso-bidi-font-size: 12.0pt;"></span></p>
<p class="MsoNormal" style="text-indent: 17.85pt; mso-char-indent-count: 1.7; mso-char-indent-size: 10.5pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">在配置好这个文件后，把它部署在</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">deploy</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下，把对应的</span><span lang="EN-US">jdbc</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">驱动也放在</span><span lang="EN-US">lib</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下。重新启动</span><span lang="EN-US">Jboss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">就会加载这个新的数据源。</span></p>
<h3><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 13.5pt;">3．2 Entity Bean 对数据源的使用</span></h3>
<p class="MsoNormal" style="text-indent: 18pt;"><strong><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">第一种方式：</span><span lang="EN-US"></span></strong></p>
<p class="MsoNormal" style="text-indent: 18pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">直接改动</span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。把原有的数据源</span><span lang="EN-US">java:/DefautlDS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">屏蔽掉使用新的数据源</span><span lang="EN-US">java:/MySQLDS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。（</span><span lang="EN-US">Java</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">前缀是必须的。）不需在其他地方作改动。</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">会实现新的数据源做为缺省的数据源。图二是一个配置好的文件片断。</span></p>
<p class="MsoNormal" style="margin-left: 18pt;"><span lang="EN-US"></span></p>
<p class="MsoNormal" align="center" style="text-align: center;"><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">图二</span><span style="font-size: 9pt; mso-bidi-font-size: 12.0pt;"> </span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">的样本代码</span><span lang="EN-US" style="font-size: 9pt; mso-bidi-font-size: 12.0pt;"></span></p>
<p class="MsoNormal" style="margin-left: 18pt;"><strong><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">第二种方式：</span><span lang="EN-US"></span></strong></p>
<p class="MsoNormal" style="text-indent: 18pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">由于有可能不同的</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">使用不同的数据源，而不是都使用同样的缺省配置，所以必须为单独的</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">提供定制数据源信息的支持。这时不需要改动</span><span lang="EN-US">standardjbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">文件，可以通过在</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的</span><span lang="EN-US">jar</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">包中</span><span lang="EN-US">META-INFO</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">目录下添加新的部署文件</span><span lang="EN-US">jbosscmp-jdbc.xml</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">来完成。通过这个文件可以描述特定的</span><span lang="EN-US">Entity Bean</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">的关于数据源的配置信息。图三是一个配置好的文件片断。</span></p>
<p class="MsoNormal" style="text-indent: 18pt;"><span lang="EN-US"></span></p>
<p class="MsoNormal" align="center" style="margin-left: 18pt; text-align: center;"><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">图三</span><span style="font-size: 9pt; mso-bidi-font-size: 12.0pt;"> </span><span lang="EN-US">jbosscmp-jdbc.xml</span><span style="font-size: 9pt; font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt;">的样本代码</span></p>
<h3><span lang="EN-US">4．JBoss3.0中对于Message Driven Bean的配置</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">在</span><span lang="EN-US">JBoss</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中开发</span><span lang="EN-US">MDB</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">需要使用</span><span lang="EN-US">JMS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">功能。</span><span lang="EN-US">JMS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">是</span><span lang="EN-US">Sun</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">公司开发的面向消息的中间件</span><span lang="EN-US">API</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。它的主要目的是创造一种统一的面向消息编程的</span><span lang="EN-US">JavaAPI</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">，从而避免使用提供商特定的</span><span lang="EN-US">API</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。现在有几种不同的</span><span lang="EN-US">JMS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">系统可供使用。</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中提供的是</span><span lang="EN-US">JBossMQ</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">。</span></p>
<h3><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 13.5pt;">4．1 JBoss3.0中配置JMS服务</span></h3>
<p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">在</span><span lang="EN-US">JBoss3.0</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">中与</span><span lang="EN-US">JMS</span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">服务相关的配置文件包括两个文件：</span><span lang="EN-US">jbossMQ-service.xml</span>span<span style="font-family:</p>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/233630#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 23:12:58 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/233630</link>
        <guid>http://eimhee.javaeye.com/blog/233630</guid>
      </item>
      <item>
        <title>关于EJB的远程调用sessionBean的方式</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/233583" style="color:red;">http://eimhee.javaeye.com/blog/233583</a>&nbsp;
          发表时间: 2008年08月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>EJB的调用方式是有两种形式的,大致的调用顺序是这样的&nbsp;</p>
<p>1-&gt;<span style="color: #ff0000;">初始华servert的上下文,也就是初始化容器的上下文,</span></p>
<p><span style="color: #ff0000;">2-&gt;在在远程的调用EJB的beanHome接口</span></p>
<p><span style="color: #ff0000;">3-&gt;home接口的create()方法用来获取ejb的远程接口,</span></p>
<p><span style="color: #ff0000;">4-&gt;有了这个远程的接口我们就可以调用他的所有方法了.</span></p>
<p>在这里我们要注意的是,因为我们有远程调用和本地调用,他们也是不同的,具体加些小的代码片段来演示下</p>
<p><span style="color: #ff6600;">**********当是远程的时候:(调用方和EJB所在的JVM不是同一个的时候)********************************</span></p>
<p>1-&gt;<span style="color: #ff0000;">初始华servert的上下文,也就是初始化容器的上下文,</span></p>
<p><span style="color: #ff6600;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>我们要使用java.util.properties来设置下容器上下文,以这个对象为参数来设置上下文.</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; word-break: break-all; padding-top: 4px; border: windowtext 0.5pt solid;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #008000;">//</span><span style="color: #008000;">注意要导入包</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Properties&nbsp;p</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;&nbsp;Properties()&nbsp;;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">将服务器的配置信息放入p中</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">p.put(Context.INITIAL_CONTEXT_FACTORY,</span><span style="color: #000000;">"</span><span style="color: #000000;">weblogic.jndi.WLInitialContextFactory</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />p.put&nbsp;(Context.PROVIDER_URL,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">t3://localhost:7001</span><span style="color: #000000;">"</span><span style="color: #000000;">);&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">这里的localhost是weblogic所在的服务器的IP<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">以上面的p来初始化容器上下文</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">Context&nbsp;ctx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;InitialContext&nbsp;(p);&nbsp;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span></div>
</div>
<p><span style="color: #ff0000;">2-&gt;在在远程的调用EJB的beanHome接口</span></p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; word-break: break-all; padding-top: 4px; border: windowtext 0.5pt solid;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000;">Object&nbsp;ref&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;context.lookup(</span><span style="color: #000000;">"</span><span style="color: #000000;">JNDI_name</span><span style="color: #000000;">"</span><span style="color: #000000;">);&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">lookup()直接调用其jndi名称</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">SbLocalHome&nbsp;testHome&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">(ClassName)PortableRemoteObject.narrow(ref，ClassName.</span><span style="color: #0000ff;">class</span><span style="color: #000000;">);</span></div>
</div>
<p>3-&gt;home接口的create()方法用来获取ejb的远程接口,</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; word-break: break-all; padding-top: 4px; border: windowtext 0.5pt solid;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000;">test&nbsp;te</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;testHome&nbsp;.create()&nbsp;&nbsp; //获得了远程的接口</span></div>
</div>
<p><span style="color: #ff0000;">4-&gt;有了这个远程的接口我们就可以调用他的所有方法了.</span></p>
<p>te.someMethod();</p>
<p><span style="color: #ff6600;">**********当是本地调用的时候:(调用方和EJB所在的JVM不是同一个的时候)********************************</span></p>
<p><span style="color: #ff6600;">
<p>&nbsp;</p>
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; word-break: break-all; padding-top: 4px; border: windowtext 0.5pt solid;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #008000;">//</span><span style="color: #008000;">初始化容器上下文</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">Context&nbsp;cont</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;InitialContext&nbsp;();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">通过JNDI来获得sessionBean</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">testHome&nbsp;home</span><span style="color: #000000;">=</span><span style="color: #000000;">(testHome)cont.lookup(</span><span style="color: #000000;">"</span><span style="color: #000000;">JNDIName</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">通过home来获得远程的接口</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000;">test&nbsp;te</span><span style="color: #000000;">=</span><span style="color: #000000;">home.create();<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">通过远程接口来调用方法</span></div>
</div>
</span></p>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/233583#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Aug 2008 21:27:29 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/233583</link>
        <guid>http://eimhee.javaeye.com/blog/233583</guid>
      </item>
      <item>
        <title>用partition by相对group by有什么优势吗？</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/232609" style="color:red;">http://eimhee.javaeye.com/blog/232609</a>&nbsp;
          发表时间: 2008年08月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>我们公司上了一套系统，我查看了一下原开发人员在做报表时写的SQL代码，如下所示： &nbsp; <br />&nbsp; select &nbsp; distinct &nbsp; t3.code,t3.name,t3.material_spec,t3.default_unit, &nbsp; <br />&nbsp; sum(t2.quantity) &nbsp; over &nbsp; (partition &nbsp; by &nbsp; t3.code) &nbsp; sum_qty, &nbsp; <br />&nbsp; sum(t2.amount) &nbsp; over &nbsp; (partition &nbsp; by &nbsp; t3.code) &nbsp; sum_amount, &nbsp; <br />&nbsp; sum(t2.tax_amount) &nbsp; over &nbsp; (partition &nbsp; by &nbsp; t3.code) &nbsp; - &nbsp; sum(t2.amount) &nbsp; over &nbsp; (partition &nbsp; by &nbsp; t3.code) &nbsp; tax, &nbsp; <br />&nbsp; sum(t2.tax_amount) &nbsp; over &nbsp; (partition &nbsp; by &nbsp; t3.code) &nbsp; total_amount &nbsp; <br />&nbsp; from &nbsp; t1,t2,t3,t4 &nbsp; <br />&nbsp; where &nbsp; ... &nbsp; <br />&nbsp; order &nbsp; by &nbsp; t3.code &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; 然后以下是我自己整理的代码： &nbsp; <br />&nbsp; select &nbsp; t3.code,t3.name,t3.material_spec,t3.default_unit, &nbsp; <br />&nbsp; sum(t2.quantity) &nbsp; &nbsp; sum_qty, &nbsp; <br />&nbsp; sum(t2.amount) &nbsp; sum_amount, &nbsp; <br />&nbsp; sum(t2.tax_amount) &nbsp; &nbsp; - &nbsp; sum(t2.amount) &nbsp; tax, &nbsp; <br />&nbsp; sum(t2.tax_amount) &nbsp; &nbsp; total_amount &nbsp; <br />&nbsp; from &nbsp; t1,t2,t3,t4 &nbsp; <br />&nbsp; where &nbsp; ... &nbsp; <br />&nbsp; group &nbsp; by &nbsp; t3.code,t3.name,t3.material_spec,t3.default_unit &nbsp; <br />&nbsp; order &nbsp; by &nbsp; t3.code &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; 二者运行的结果一要，性能我的那个要比原开发人员写的来的快。而且相差的性能很明显。用group &nbsp; by要快很多。我就想问一下这里的高人？用partition &nbsp; by是不是有别的用意？会比group &nbsp; by &nbsp; 来的更科学更好？（ps:自己查资料一直找不到答案，所以上这里来麻烦大家了） &nbsp; <br />&nbsp; <span>问题点数：100、回复次数：5</span><a href="http://topic.csdn.net/t/20050308/15/3834137.html#">Top</a> </p>
<div class="tagad"></div>
<h3><strong><a name="r_28176898" class="anchor">1 楼</a>LoveLwn（小P）<input maxlength="2147483647" size="20" class="user1" title="一级用户 该版得分小于等于100分" type="button" /></strong><span>回复于 2005-03-08 16:28:34 得分 0 </span></h3>
<p>帮顶一下<a href="http://topic.csdn.net/t/20050308/15/3834137.html#">Top</a></p>
<h3><strong><a name="r_28177072" class="anchor">2 楼</a>slyfox123456（）<input maxlength="2147483647" size="20" class="user2" title="二级用户 该版得分小于等于500分，大于100分" type="button" /></strong><span>回复于 2005-03-08 16:33:26 得分 0 </span></h3>
<p>order &nbsp; by &nbsp; <br />&nbsp; 没有分区表快 &nbsp; <br />&nbsp; 从算法上都可以看出来<a href="http://topic.csdn.net/t/20050308/15/3834137.html#">Top</a></p>
<h3><strong><a name="r_28177271" class="anchor">3 楼</a>keanu_wang（）<input maxlength="2147483647" size="20" class="user1" title="一级用户 该版得分小于等于100分" type="button" /></strong><span>回复于 2005-03-08 16:39:41 得分 <em>100</em></span></h3>
<p>partition &nbsp; by关键字是oracle中分析性函数的一部分，它和聚合函数不同的地方在于它能返回一个分组中的多条记录，而聚合函数一般只有一条反映统计值的记录，partition &nbsp; by用于给结果集分组，如果没有指定那么它把整个结果集作为一个分组，它有一部分函数既是聚合函数也是分析函数，比如avg、max，也有一部分是特有的，比如first、rank，除了order &nbsp; by子句外，分析函数在一个查询中优先级最低。至于partition &nbsp; by和group &nbsp; by谁的性能更好，要看具体情况而定，从你所举的例子而言，partition &nbsp; by的作用仅用于分组，那么性能可能比不上group &nbsp; by。<a href="http://topic.csdn.net/t/20050308/15/3834137.html#">Top</a></p>
<h3><strong><a name="r_28178294" class="anchor">4 楼</a>lynx（lynx）<input maxlength="2147483647" size="20" class="star1" title="一星用户 该版得分小于等于10000分，大于5000分" type="button" /></strong><span>回复于 2005-03-08 17:05:04 得分 0 </span></h3>
<p>sum() &nbsp; over &nbsp; (PARTITION &nbsp; BY &nbsp; ...) &nbsp; 是一个分析函数。 &nbsp; 他执行的效果跟普通的sum &nbsp; ...group &nbsp; by &nbsp; ...不一样，它计算组中表达式的累积和，而不是简单的和。 &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; 表a，内容如下： &nbsp; <br />&nbsp; B C D &nbsp; <br />&nbsp; 02 02 1 &nbsp; <br />&nbsp; 02 03 2 &nbsp; <br />&nbsp; 02 04 3 &nbsp; <br />&nbsp; 02 05 4 &nbsp; <br />&nbsp; 02 01 5 &nbsp; <br />&nbsp; 02 06 6 &nbsp; <br />&nbsp; 02 07 7 &nbsp; <br />&nbsp; 02 03 5 &nbsp; <br />&nbsp; 02 02 12 &nbsp; <br />&nbsp; 02 01 2 &nbsp; <br />&nbsp; 02 01 23 &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; select &nbsp; b,c,sum(d) &nbsp; e &nbsp; from &nbsp; a &nbsp; group &nbsp; by &nbsp; b,c &nbsp; <br />&nbsp; 得到： &nbsp; <br />&nbsp; B C E &nbsp; <br />&nbsp; 02 01 30 &nbsp; <br />&nbsp; 02 02 13 &nbsp; <br />&nbsp; 02 03 7 &nbsp; <br />&nbsp; 02 04 3 &nbsp; <br />&nbsp; 02 05 4 &nbsp; <br />&nbsp; 02 06 6 &nbsp; <br />&nbsp; 02 07 7 &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; 而使用分析函数得到的结果是： &nbsp; <br />&nbsp; SELECT &nbsp; b, &nbsp; c, &nbsp; d, &nbsp; SUM(d) &nbsp; OVER(PARTITION &nbsp; BY &nbsp; b,c &nbsp; ORDER &nbsp; BY &nbsp; d) &nbsp; e &nbsp; FROM &nbsp; a &nbsp; <br />&nbsp; B C E &nbsp; <br />&nbsp; 02 01 2 &nbsp; <br />&nbsp; 02 01 7 &nbsp; <br />&nbsp; 02 01 30 &nbsp; <br />&nbsp; 02 02 1 &nbsp; <br />&nbsp; 02 02 13 &nbsp; <br />&nbsp; 02 03 2 &nbsp; <br />&nbsp; 02 03 7 &nbsp; <br />&nbsp; 02 04 3 &nbsp; <br />&nbsp; 02 05 4 &nbsp; <br />&nbsp; 02 06 6 &nbsp; <br />&nbsp; 02 07 7 &nbsp; <br />&nbsp; 结果不一样，这样看还不是很清楚，我们把d的内容也显示出来就更清楚了： &nbsp; <br />&nbsp; SELECT &nbsp; b, &nbsp; c, &nbsp; d,SUM(d) &nbsp; OVER(PARTITION &nbsp; BY &nbsp; b,c &nbsp; ORDER &nbsp; BY &nbsp; d) &nbsp; e &nbsp; FROM &nbsp; a &nbsp; <br />&nbsp; B C D E &nbsp; <br />&nbsp; 02 01 2 2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d=2,sum(d)=2 &nbsp; <br />&nbsp; 02 01 5 7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d=5,sum(d)=7 &nbsp; <br />&nbsp; 02 01 23 30 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d=23,sum(d)=30 &nbsp; <br />&nbsp; 02 02 1 1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c值不同，重新累计 &nbsp; <br />&nbsp; 02 02 12 13 &nbsp; <br />&nbsp; 02 03 2 2 &nbsp; <br />&nbsp; 02 03 5 7 &nbsp; <br />&nbsp; 02 04 3 3 &nbsp; <br />&nbsp; 02 05 4 4 &nbsp; <br />&nbsp; 02 06 6 6 &nbsp; <br />&nbsp; 02 07 7 7<a href="http://topic.csdn.net/t/20050308/15/3834137.html#"></a></p>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/232609#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 25 Aug 2008 23:21:00 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/232609</link>
        <guid>http://eimhee.javaeye.com/blog/232609</guid>
      </item>
      <item>
        <title>在线词典英汉繁体类</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/232545" style="color:red;">http://eimhee.javaeye.com/blog/232545</a>&nbsp;
          发表时间: 2008年08月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div style="margin: 0pt 0pt 5px;">
										<span style="text-decoration: underline;">
										<strong>常用 WEB 查询引擎代码列表:<span style="color: #fa833a;"><br />
										</span>
										</strong>
</span>
如果你希望与大家分享你发现和喜爱的 Web引擎, 请在论坛中发布你的引擎代码与大家分享.</div>
<table cellspacing="0" bordercolor="#5a9acb" border="1" width="100%" cellpadding="4" style="border-collapse: collapse;">
<tbody>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>搜索引擎类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Google</td>
<td>&quot;Google&quot;,
&quot;http://www.google.com/custom?q=[$key]&amp;client=pub-3183232263218836&amp;forid=1&amp;channel=7192673788&amp;ie=UTF-8&amp;oe=UTF-8&amp;hl=[$langcode]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Yahoo</td>
<td>&quot;Yahoo&quot;, 
												&quot;http://search.yahoo.com/search?p=[$key]&amp;ei=UTF-8&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												微软 Live Search</td>
<td>&quot;Live Search&quot;, 
												&quot;http://search.live.com/results.aspx?q=[$key]&amp;mkt=[$langcode]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												百度</td>
<td>&quot;百度&quot;, 
												&quot;http://www.baidu.com/baidu?tn=kevinyau_dg&amp;word=[$key]&amp;ie=utf-8&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												新浪爱问</td>
<td>&quot;爱问&quot;,&quot;http://www.iask.com/s?k=[$key]&quot;, 
										936</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												搜狗</td>
<td>&quot;搜狗&quot;, 
										&quot;http://www.sogou.com/web?query=[$key]&quot;, 
										936</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												雅虎中国</td>
<td>&quot;雅虎中国&quot;, 
										&quot;http://search.cn.yahoo.com/search?p=[$key]&amp;ei=UTF-8&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												中搜</td>
<td>&quot;中搜&quot;, 
												&quot;http://p.zhongsou.com/p?w=[$key]&quot;, 
												936</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Yahoo! 奇摩</td>
<td>&quot;Yahoo! 奇摩&quot;, 
										&quot;http://tw.search.yahoo.com/search?p=[$key]&amp;ei=UTF-8&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线词典英汉简体类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												海词在线 Dict.cn</td>
<td>&quot;海词在线&quot;, 
										&quot;http://www.dict.cn/search/?q=[$key]&quot;, 
										936</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												百度词典</td>
<td>&quot;百度词典&quot;, 
										&quot;http://www.baidu.com/baidu?ie=utf-8&amp;ct=1048576&amp;word=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												金山爱词霸</td>
<td>&quot;爱词霸&quot;, 
										&quot;http://www.iciba.com/search?s=[$key]&quot;, 
										0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Babylon</td>
<td>&quot;Babylon&quot;, 
										&quot;http://www.babylon.com/definition/[$key]/Chinese 
										(S)&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												汉典</td>
<td>&quot;汉典&quot;, 
										&quot;http://www.zdic.net/zd/search/default.asp?q=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												有道词典</td>
<td>&quot;有道&quot;, 
												&quot;http://dict.yodao.com/search?q=[$key]&amp;ue=utf8&amp;keyfrom=dict.index&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线词典英汉繁体类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Giga 英漢字典 (繁)</td>
<td>&quot;Giga 英漢字典 (繁)&quot;, &quot;http://cdict.giga.net.tw/?q=[$key]&quot;, 950</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Yahoo! 奇摩英漢字典 (繁)</td>
<td>&quot;Yahoo! 奇摩英漢字典 (繁)&quot;, &quot;http://tw.dictionary.yahoo.com/search?ei=UTF-8&amp;p=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												譯典通线上字典 (繁)</td>
<td>&quot;譯典通 (繁)&quot;, &quot;http://www.dreye.com:8080/axis/ddict.jsp?w=[$key]&amp;ver=big5&quot;, 950</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												顏式美語英漢字典 (繁)</td>
<td>&quot;顏式美語英漢字典 (繁)&quot;, &quot;http://www.onlinedict.com/servlet/MobiDictLookup14?WoRd=[$key]&quot;, 0</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												林語堂漢英字典 (繁)</td>
<td>&quot;
林語堂漢英字典 (繁)&quot;,
&quot;http://humanum.arts.cuhk.edu.hk/cgi-bin/agrep-lindict?query=[$key]&amp;category=full&amp;boo=no&amp;ignore=on&amp;substr=on&amp;order=all&quot;,
950</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Babylon (繁)</td>
<td>&quot;Babylon (繁)&quot;, &quot;http://www.babylon.com/definition/[$key]/Chinese (T)&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												電子工程英漢字典 (繁)</td>
<td>&quot;
電子工程英漢字典 (繁)&quot;,
&quot;http://www.eettaiwan.com/EGLOSSARY/GLOSSARY_RESULT.HTM?word=[$key]&amp;isABBR=&amp;method=partial&amp;FromForm=2&amp;page=1&quot;,
950</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线词典其他语言至汉语类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												跟我学德汉汉德词典</td>
<td>&quot;跟我学德汉词典&quot;, 
										&quot;http://www.learningwithme.com/wsearch.php?keyword=[$key]&quot;, 
										936</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												BitEx 日中中日辞書</td>
<td>&quot;BitEx 日中辞書&quot;, &quot;http://www.bitex-cn.com/cn/search_result.php?keywords=[$key]&amp;match=contains&amp;deal_type=jp2cn&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Naver 韩中词典</td>
<td>&quot;Naver 韩中词典&quot;, 
										&quot;http://cndic.naver.com/search.nhn?dic_where=cndic&amp;query=[$key]&amp;query_euckr=&amp;query_utf=&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												法语助手在线</td>
<td>&quot;法语助手在线&quot;, 
										&quot;http://www.frdic.com/SearchDic.aspx?word=[$key]&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												欧华意汉词典</td>
<td>&quot;欧华意汉词典&quot;, 
												&quot;http://www.ohdict.com/search/?d=IT_CH&amp;q=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												汉语阿拉伯语在线</td>
<td>&quot;汉语阿拉伯语在线&quot;, 
												&quot;http://www.srwah.com/dic/search.asp?word=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线词典英语类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Merriam-Webster 韦氏在线词典</td>
<td>&quot;Merriam-Webster 韦氏&quot;, 
										&quot;http://www.m-w.com/dictionary/[$key]&quot;, 
										0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Oxford 牛津</td>
<td>&quot;Oxford 牛津&quot;, 
										&quot;http://www.oup.com/oald-bin/web_getald7index1a.pl?search_word=[$key]&quot;, 
										0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Cambridge 剑桥</td>
<td>&quot;Cambridge 剑桥&quot;, 
										&quot;http://dictionary.cambridge.org/results.asp?searchword=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Longman 朗文</td>
<td>&quot;Longman 朗文&quot;, 
										&quot;http://pewebdic2.cw.idm.fr/?searchword=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Dictionary.com</td>
<td>&quot;Dictionary.com&quot;, &quot;http://dictionary.reference.com/browse/[$key]&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												OneLook</td>
<td>&quot;OneLook&quot;, &quot;http://www.onelook.com/?w=[$key]&amp;ls=b&quot;, 1252 </td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Babylon</td>
<td>&quot;Babylon&quot;, &quot;http://www.babylon.com/definition/[$key]/English&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Wikitionary</td>
<td>&quot;Wikitionary&quot;, &quot;http://en.wiktionary.org/wiki/[$key]&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线词典英语至其他语言类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												dict.cc (en-de)</td>
<td>&quot;dict.cc (en-de)&quot;, &quot;http://www.dict.cc/?s=[$key]&quot;, 1252</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												WordReference (en-fr)</td>
<td>&quot;WordReference (en-fr)&quot;, &quot;http://www.wordreference.com/enfr/[$key]&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Rustran (en-ru)</td>
<td>&quot;Rustran (en-ru)&quot;, &quot;http://www.rustran.com/odr.php4?q=1&amp;word=[$key]&quot;, 1251</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												goo (en-ja)</td>
<td>&quot;goo (en-ja)&quot;, &quot;http://dictionary.goo.ne.jp/search.php?MT=[$key]&amp;kind=all&quot;, 932</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												zKorean (en-ko)</td>
<td>&quot;zKorean (en-ko)&quot;, &quot;http://www.zkorean.com/dictionary.php?direction=ek&amp;word=[$key]&quot;, 949</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#d6e9fc" colspan="2">
												<strong>在线百科全书类</strong>
</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Britannica 大英百科</td>
<td>&quot;Britannica 大英百科&quot;, 
										&quot;http://www.britannica.com/search?query=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Encarta 微软百科</td>
<td>&quot;Encarta 微软百科&quot;, 
										&quot;http://encarta.msn.com/encnet/refpages/search.aspx?q=[$key]&quot;</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Wikipedia 维基英文百科</td>
<td>&quot;Wikipedia 维基英文百科&quot;, &quot;http://en.wikipedia.org/wiki/[$key]&quot;, 0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">
												Wikipedia 维基中文百科</td>
<td>&quot;Wikipedia 维基中文百科&quot;, 
										&quot;http://zh.wikipedia.org/wiki/[$key]&quot;, 
										0, 1</td>
</tr>
<tr>
<td bgcolor="#edf5fe" width="120">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/232545#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 25 Aug 2008 20:24:51 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/232545</link>
        <guid>http://eimhee.javaeye.com/blog/232545</guid>
      </item>
      <item>
        <title>GLASSFISＨ--ant部署</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/230271" style="color:red;">http://eimhee.javaeye.com/blog/230271</a>&nbsp;
          发表时间: 2008年08月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;project name="ejb30notebook" basedir="."><br /><br />	&lt;property name="build.dir" value="${basedir}/build" /><br />	&lt;property name="src.dir" value="${basedir}/src" /><br />      &lt;property name="config.dir" value="${basedir}/config" /><br />	&lt;property file="env.properties" /><br /><br />&lt;path id="j2ee.classpath"><br />      &lt;pathelement location="${build.dir}"/><br />      &lt;fileset dir="${glassfish.home}/lib"><br />         &lt;include name="javaee.jar"/><br />      &lt;/fileset><br />&lt;/path><br /><br /><br />&lt;target name="clean"><br />   &lt;delete dir="${build.dir}"/><br />   &lt;mkdir dir="${build.dir}" /><br />   &lt;mkdir dir="${build.dir}/web/WEB-INF/classes"/><br />   &lt;mkdir dir="${build.dir}/web/WEB-INF/lib"/><br />&lt;/target><br /><br />&lt;target name="all"><br />    &lt;antcall target="clean"/><br />    &lt;antcall target="compile-entities"/><br />    &lt;antcall target="package-entities"/><br />    &lt;antcall target="compile-web"/><br />    &lt;antcall target="package-web"/><br />    &lt;antcall target="deploy"/><br />&lt;/target><br /><br /><br />&lt;target name="compile-entities"><br />		&lt;javac destdir="${build.dir}"<br />			srcdir="${src.dir}"<br />			classpathref="j2ee.classpath"/>		<br />&lt;/target><br /><br />	&lt;target name="package-entities" depends="compile-entities"><br />		&lt;jar jarfile="${build.dir}/BankService.jar"><br />			&lt;fileset dir="${build.dir}"><br />                        &lt;include name="ejb30/entity/**" /><br />                  &lt;/fileset><br />                  &lt;metainf dir="${config.dir}"><br />				&lt;include name="persistence.xml" /><br />			&lt;/metainf>		<br />		&lt;/jar><br />	&lt;/target><br /><br /><br />&lt;target name="compile-web" depends="package-entities"><br />	 &lt;javac destdir="${build.dir}/web/WEB-INF/classes"<br />			srcdir="web/src"<br />			classpathref="j2ee.classpath"><br />              &lt;classpath><br />                &lt;pathelement location="${build.dir}/BankService.jar"/><br />              &lt;/classpath><br />       &lt;/javac>		<br />&lt;/target><br /><br />&lt;target name="package-web" depends="compile-web"><br />            &lt;copy file="web/web.xml" todir="${build.dir}/web/WEB-INF"/><br />            &lt;copy file="${build.dir}/BankService.jar" todir="${build.dir}/web/WEB-INF/lib"/><br />            &lt;copy todir="${build.dir}/web/"><br />               &lt;fileset dir="web"><br />                  &lt;include name="**/*.html"/><br />               &lt;/fileset><br />            &lt;/copy><br />		&lt;jar destfile="${build.dir}/BankService.war"<br />		 basedir="${build.dir}/web"/><br />&lt;/target><br /><br /><br /><br />	<br />&lt;target name="deploy">        <br />    &lt;exec executable="${glassfish.home}/bin/asadmin" <br />          failonerror="true" <br />          vmlauncher="false"><br />      &lt;arg line="deploy --user admin --passwordfile adminpassword --createtables=true ${build.dir}/BankService.war"/><br />    &lt;/exec><br />  &lt;/target><br /><br /><br />&lt;target name="undeploy">        <br />    &lt;exec executable="${glassfish.home}/bin/asadmin" <br />          failonerror="true" <br />          vmlauncher="false"><br />      &lt;arg line="undeploy --user admin  --passwordfile adminpassword  --droptables=true BankService"/><br />    &lt;/exec><br />  &lt;/target><br />	<br /><br />&lt;/project>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/230271#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 19 Aug 2008 23:03:49 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/230271</link>
        <guid>http://eimhee.javaeye.com/blog/230271</guid>
      </item>
      <item>
        <title>JBOSS用ＡＮＴ部署　</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/230258" style="color:red;">http://eimhee.javaeye.com/blog/230258</a>&nbsp;
          发表时间: 2008年08月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;?xml version="1.0"?><br /><br />&lt;!-- ======================================================================= --><br />&lt;!-- JBoss build file                                                       --><br />&lt;!-- ======================================================================= --><br /><br />&lt;project name="JBoss" default="ejbjar" basedir="."><br /><br />  &lt;property environment="env"/><br />  &lt;property name="src.dir" value="${basedir}/src/main"/><br />  &lt;property name="src.resources" value="${basedir}/src/resources"/><br />  &lt;property name="jboss.home" value="${env.JBOSS_HOME}"/><br />  &lt;property name="build.dir" value="${basedir}/build"/><br />  &lt;property name="build.classes.dir" value="${build.dir}/classes"/><br /><br />  &lt;!-- Build classpath --><br />  &lt;path id="classpath"><br />        &lt;fileset dir="${jboss.home}/server/default/lib"><br />            &lt;include name="*.jar"/><br />        &lt;/fileset><br />        &lt;fileset dir="${jboss.home}/server/default/deploy/ejb3.deployer"><br />            &lt;include name="*.jar"/><br />        &lt;/fileset><br />        &lt;fileset dir="${jboss.home}/server/default/deploy/jboss-aop-jdk50.deployer"><br />            &lt;include name="*.jar"/><br />        &lt;/fileset><br />        &lt;fileset dir="${jboss.home}/lib"><br />            &lt;include name="*.jar"/><br />        &lt;/fileset><br />	&lt;pathelement location="${build.classes.dir}"/><br />	&lt;!-- So that we can get jndi.properties for InitialContext and log4j.xml file --><br />	&lt;pathelement location="${basedir}/client-config"/><br />  &lt;/path><br /><br />  &lt;property name="build.classpath" refid="classpath"/><br /><br />  &lt;!-- =================================================================== --><br />  &lt;!-- Prepares the build directory                                        --><br />  &lt;!-- =================================================================== --><br />  &lt;target name="prepare" ><br />    &lt;mkdir dir="${build.dir}"/><br />    &lt;mkdir dir="${build.classes.dir}"/><br />  &lt;/target><br /><br />  &lt;!-- =================================================================== --><br />  &lt;!-- Compiles the source code                                            --><br />  &lt;!-- =================================================================== --><br />  &lt;target name="compile" depends="prepare"><br />    &lt;javac srcdir="${src.dir}"<br />           destdir="${build.classes.dir}"<br />           debug="on"<br />           deprecation="on"<br />           optimize="off"<br />           includes="**"><br />            &lt;classpath refid="classpath"/><br />    &lt;/javac><br />  &lt;/target><br /><br />  &lt;target name="ejbjar" depends="compile"><br />    &lt;jar jarfile="build/titan.jar"><br />      &lt;fileset dir="${build.classes.dir}"><br />      	  &lt;include name="com/titan/domain/*.class"/><br />      	  &lt;include name="com/titan/travelagent/*.class"/><br />      &lt;/fileset><br />      &lt;fileset dir="${src.resources}/"><br />          &lt;include name="META-INF/persistence.xml"/><br />      &lt;/fileset><br />     &lt;/jar><br />     &lt;copy file="build/titan.jar" todir="${jboss.home}/server/default/deploy"/><br />  &lt;/target><br /><br />  &lt;target name="run.client" depends="ejbjar"><br />    &lt;java classname="com.titan.clients.Client" fork="yes" dir="."><br />      &lt;classpath refid="classpath"/><br />    &lt;/java><br />  &lt;/target><br /><br />  &lt;!-- =================================================================== --><br />  &lt;!-- Cleans up generated stuff                                           --><br />  &lt;!-- =================================================================== --><br />  &lt;target name="clean.db"><br />    &lt;delete dir="${jboss.home}/server/default/data/hypersonic"/><br />  &lt;/target><br /><br />  &lt;target name="clean"><br />    &lt;delete dir="${build.dir}"/><br />    &lt;delete file="${jboss.home}/server/default/deploy/titan.jar"/><br />  &lt;/target><br /><br /><br />&lt;/project>
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/230258#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 19 Aug 2008 21:12:15 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/230258</link>
        <guid>http://eimhee.javaeye.com/blog/230258</guid>
      </item>
      <item>
        <title>Java - How do I start up JBoss using ant?</title>
        <author>eimhee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eimhee.javaeye.com">eimhee</a>&nbsp;
          链接：<a href="http://eimhee.javaeye.com/blog/230256" style="color:red;">http://eimhee.javaeye.com/blog/230256</a>&nbsp;
          发表时间: 2008年08月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Thanks kindly for the clarification. So hard to keep track of what<br />they're calling it these days...<br /><br />To the OP: With this additional information we can suggest the<br />following:<br /><br />NT:<br />&lt;exec command="cmd.exe run.bat" dir="${jboss.root.dir}\bin\"<br />spawn="true" /><br /><br />Win 98/ME:<br />&lt;exec command="command.com run.bat" dir="${jboss.root.dir}\bin\"<br />spawn="true" /><br /><br />Disclaimer: Above information is untested. YMMV.
          <br/>
          <span style="color:red;">
            <a href="http://eimhee.javaeye.com/blog/230256#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 19 Aug 2008 20:28:55 +0800</pubDate>
        <link>http://eimhee.javaeye.com/blog/230256</link>
        <guid>http://eimhee.javaeye.com/blog/230256</guid>
      </item>
  </channel>
</rss>