• EJB2.0 ejb-jar.xml配置文件详解


    <ejb-jar><!--EJB发布描述器的根元素,它包含一个可选的EJB-JAR文件的描述,可选显示的名称,可选小图标的文件名,可选的大图标的文件名,必须的所有被包含的enterprise bean 的结构信息 ,可选的应用装配描述器,可选的针对当前ejb-jar文件的ejb-client-jar 文件的名称 -->
    	<description>A short description</description><!--ejb-jar 文件的描述性的说明    -->
    	<display-name>A name</display-name><!--ejb-jar 文件显示的名称 -->
    	<small-icon>employee-service-icon16x16.jpg</small-icon><!--small-icon 元素包含小图标(16 x 16)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用-->
    	<large-icon>employee-service-icon32x32.jpg</large-icon><!--large-icon元素包含小图标(32 x 32)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用  -->
    	<enterprise-beans><!--enterprise-beans元素包含了多个enterprise beans的声明描述  -->
    		<session><!--Session元素声明了一个session bean.声明由以下这些组成:一个可选的描述符,可选的显示名称;可选的小图标文件名,可选的大图标文件名,在发布描述符中分配给这个企业bean的名字,当前sessionBean的home及remote接口的名称,sessionBean的实现类的名,sessionBean的状态管理类型,sessionBean的事务类型,一个可选的bean的环境条目,一个可选的引用的EJB的声明,一个可选的安全角色的引用声明,一个可选的资源工厂的引用声明,那些称为可选的元素当它们描述的内容为空时,可以将它们省略掉的  -->
    			<description>A short description</description>
    			<display-name>A name</display-name><!--要显示的名称,这个名字可以被别的工具引用到 -->
    			<small-icon>employee-service-icon16x16.jpg</small-icon>
    
    			<large-icon>employee-service-icon32x32.jpg</large-icon>
    			<ejb-name>EmployeeService</ejb-name><!-- ejb-name元素指明了企业bean的名称,它是由ejb-jar 文件的编写者命名的,这个名称在同一个ejb-jar文件中必须是唯一的,企业bean的代码不依赖于它,与它隔离的,所以企业bean的名称可以在应用装配的过程中改变而不会影响企业bean的功能.在发布描述器中的ejb-name与应用发布者即将分配给企业bean的home接口的JNDI的名称没有结构性的关系.名称必须定义的有意义  -->
    			<home>com.aardvark.payroll.PayrollHome</home><!-- home元素包含企业bean的具有完全的路经(具有完整的包名)的home接口  -->
    			<remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含企业bean的具有完全的路经(具有完整的包名)的remote接口  -->
    			<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class><!-- ejb-class元素包含企业bean的具有完全的路经(具有完整的包名)的实现类    -->
    			<session-type>Stateful/Stateless</session-type><!-- session-type元素描述 sessionbean是stateful的还是stateless的,必须是两者中的一种.   -->
    			<transaction-type>Bean/Container</transaction-type><!-- transaction-type元素的值必须是Bean和Container中的一个,也就是说事务类型必须它们中的一种. -->
    			<env-entry><!--env-entry元素包含了企业bean的环境条目(environment entries)的声明,声明的内容包括可选的描述符,环境条目的名称,及可选的值         -->
    				<description>A short description</description>
    				<env-entry-name>minAmount</env-entry-name><!--一个企业bean 的 environment entry的名称      -->
    				<env-entry-type>java.lang.String</env-entry-type><!--env-entry-type元素包含了具有`完全限制的企业bean代码期望得到的Java类型值,别的合法的类型值:                             java.lang.Boolean, java.lang.String,                             java.lang.Integer,                             java.lang.Double, java.lang.Byte, java.lang.Short,                              java.lang.Long, java.lang.Float.                       -->
    				<env-entry-value>100.00</env-entry-value><!-- env-entry-value元素描述了一个企业bean的环境条目的值  -->
    			</env-entry>
    			<ejb-ref><!-- ejb-ref元素描述对的别的企业bean的home接口的引用.描述由以下部分组成:可选的描述符,使用的引用(参照)的EJB的名称,引用的企业bean的期望的类型及home和remote接口,可选的ejb-link 信息-指定引用的企业bean的标示   -->
    				<description>A short description</description>
    				<ejb-ref-name>ejb/Payroll</ejb-ref-name><!--表示引用的企业bean的名称,EJB参照是企业bean环境中的一条条目,记住名称是以”ejb/”为前缀的     -->
    				<ejb-ref-type>Entity/Session</ejb-ref-type><!--引用的企业bean的类型,它的值必须是Entity和Session两者之一  -->
    				<home>com.aardvark.payroll.PayrollHome</home>
    				<remote>com.wombat.empl.EmployeeService</remote>
    				<ejb-link>EmployeeRecord</ejb-link><!--链接到被引用的企业bean,它的值(有联系企业bean)必须在同一个ejb-jar文件中,或者是在同一J2EE Application中的别的ejb-jar中(就是<ejb-name>元素定义的被引用的企业bean名称)  -->
    			</ejb-ref>
    			<security-role-ref><!--包含在企业bean中被引用的安全角色的声明,声明包括以下各项:可选的描述符,安全角色的名称,,可选的到一个已经定义的安全角色的连接ole-name元素的值必须是个string,可以作为参数传给EJBContext.isCallerInRole(String roleName)方法, role-link元素的值必须是在security-role元素中定义过的    -->
    				<description>A short description</description>
    				<role-name>name</role-name><!--  角色的名字,名字要有意义          -->
    				<role-link>name</role-link><!--一个已经定义的安全角色的连接,role-link元素的值必须是在security-role元素中定义过的   -->
    			</security-role-ref>
    			<resource-ref><!--包含企业bean对外部资源引用的声明,描述,它以下各项组成:可选的描述符, 引用资源工厂名,资源工厂的类型定义,认证的类型(bean或者container)          -->
    				<description>A short description</description><!--简短的描述         -->
    				<res-ref-name>name</res-ref-name><!--指定引用资源工厂名 -->
    				<res-type>javax.sql.DataSource</res-type><!--指定数据源的类型,而它就是要使用数据源的Java接口(或者类)所期望的    -->
    				<res-auth>Application/Container</res-auth><!--res-auth元素定义是由企业bean的代码作为资源管理器,还是由容器作为资源管理器.后一个选择, 发布者可以对容器提供支持,这个元素的值必须是Application和Container中的一个       -->
    			</resource-ref>
    		</session>
    		<entity><!--entity元素描述entity bean的,这些描述性的声明有以下各项组成:可选的描述符,可选的显示名称,可选的小图标文件名,可选的大图标文件名,在发布描述中指定企业bean的名称;entity bean的home和remote接口的名称,entity bean的实现类;entity bean持久性管理的类型;主键类的名称; Entity Bean's reentrancy 的声明;可选的容器管理的字段的列表;可选的指定的primary key的字段名;bean 环境条目的声明;bean参照的声明,安全角色参照的声明,资源工厂的参照声明(可选).等等;如果entity持久管理类型是container的话,在描述中就可以将primarykey-field元素表示出来.至少有一个cmpfield元素,而bean管理的持久性,就不能有这些了.-->
    			<description>A short description</description><!-- 一个简短的描述     -->
    			<display-name>A name</display-name><!--要显示的名称,这个名字可以被别的工具引用到      -->
    			<small-icon>employee-service-icon16x16.jpg</small-icon><!--small-icon 元素包含小图标(16 x 16)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用 -->
    			<large-icon>employee-service-icon32x32.jpg</large-icon><!--large-icon元素包含小图标(32 x 32)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用  -->
    			<ejb-name>EmployeeService</ejb-name><!--ejb-name元素指明了企业bean的名称,它是由ejb-jar 文件的编写者命名的,这个名称在同一个ejb-jar文件中必须是唯一的,企业bean的代码不依赖于它,与它隔离的,所以企业bean的名称可以在应用装配的过程中改变而不会影响企业bean的功能.在发布描述器中的ejb-name与应用发布者即将分配给企业bean的home接口的JNDI的名称没有结构性的关系.名称必须定义的有意义   -->
    			<home>com.aardvark.payroll.PayrollHome</home><!--home元素包含企业bean的具有完全的路经(具有完整的包名)的home接口  -->
    			<remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含企业bean的具有完全的路经(具有完整的包名)的remote接口   -->
    			<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class><!--ejb-class元素包含企业bean的具有完全的路经(具有完整的包名)的实现类 -->
    			<persistence-type>Bean/Container</persistence-type><!--persistence-type元素指定entity bean的持久性管理的类型,它必须是下面两个之一:Bean,Container -->
    			<prim-key-class>com.wombat.empl.EmployeeID</prim-key-class><!--prim-key-class元素指定了具有完全限定的entity bean的主键类的名称,如果主键类的定义依赖发布的时间, 主键类元素的值应该是java.lang.Object;   -->
    			<reentrant>True/False</reentrant><!--The reentrant element specifies whether an entity bean is reentrant or not.The reentrant element must be one of the two following: True or False     -->
    			<cmp-field><!-- cmp-field描述容器管理的字段.包括一个可选的字段描述,字段的名称.  -->
    				<description>A short description</description>
    				<field-name>firstName</field-name><!--field-name元素指定容器管理的字段的名,名称必须企业bean的公共字段或者是它的超类中的公共字段. -->
    			</cmp-field>
    			<primkey-field>fieldName</primkey-field><!--primkey-field元素指定容器管理的Bean的主键字段.它必须是在cmp-field元素中声明过的,类型必须和主键类的一样,如果主键映射为多个容器管理的字段(也就是说是一个复合主键),那么就地取材没必要条件使用这个元素了.在这种情况下,主键类的字段必须是公共的,它们的名字必须与包含主键的entity bean的字段名相符合.  -->
    			<env-entry><!--env-entry元素包含了企业bean的环境入口(environment entries)的声明,声明的内容包括可选的描述符,环境入口的名称,及可选的值  -->
    				<description>A short description</description><!--简短的描述 -->
    				<env-entry-name>minAmount</env-entry-name><!--一个企业bean 的 environment entry的名称   -->
    				<env-entry-type>java.lang.String</env-entry-type><!--env-entry-type元素包含了具有`完全限制的企业bean代码期望得到的Java类型值,别的合法的类型值:java.lang.Boolean, java.lang.String, java.lang.Integer,java.lang.Double, java.lang.Byte, java.lang.Short,java.lang.Long, java.lang.Float.             -->
    				<env-entry-value>100.00</env-entry-value><!--env-entry-value元素描述了一个企业bean的环境入口的值  -->
    			</env-entry>
    
    			<ejb-ref><!--ejb-ref元素描述对的别的企业bean的home接口的引用.描述由以下部分组成:可选的描述符,使用的引用(参照)的EJB的名称,引用的企业bean的期望的类型及home和remote接口,可选的ejb-link 信息-指定与引用的企业bean有关系的bean,在ejb-jar 文件中典型的包含一个应用的组装.       -->
    				<description>A short description</description><!--简短的描述  -->
    				<ejb-ref-name>ejb/Payroll</ejb-ref-name><!--表示引用的企业bean的名称,EJB参照是企业bean环境中的一条条目,记住名称是以”ejb/”为前缀的            -->
    				<ejb-ref-type>Entity/Session</ejb-ref-type><!--引用的企业bean的类型,它的值必须是Entity和Session两者之一  -->
    				<home>com.aardvark.payroll.PayrollHome</home><!--home元素包含被引用的企业bean的具有完全的路经(具有完整的包名)的home接口-->
    				<remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含被引用的企业bean的具有完全的路经(具有完整的包名)的remote接口        -->
    				<ejb-link>EmployeeRecord</ejb-link><!--链接到被引用的企业bean,它的值(有联系企业bean)必须在同一个ejb-jar文件中,或者是在同一J2EE Application中的别的ejb-jar中(就是ejb-name元素定义的被引用的企业bean名称)     -->
    			</ejb-ref>
    			<security-role-ref><!--包含在企业bean中被引用的安全角色的声明,声明包括以下各项:可选的描述符,安全角色的名称,,可选的到一个已经定义的安全角色的连接ole-name元素的值必须是个string,可以作为参数传给EJBContext.isCallerInRole(String roleName)方法, role-link元素的值必须是在security-role元素中定义过的      -->
    
    				<description>A short description</description><!--简短的描述       -->
    				<role-name>name</role-name><!--    角色的名字,名字要有意义    -->
    				<role-link>name</role-link><!--一个已经定义的安全角色的连接,role-link元素的值必须是在security-role元素中定义过的 -->
    			</security-role-ref>
    			<resource-ref><!--包含企业bean对外部资源引用的声明,描述,它以下各项组成:可选的描述符, 引用资源工厂名,资源工厂的类型定义,认证的类型(bean或者container)  -->
    				<description>A short description</description><!--简短的描述    -->
    				<res-ref-name>name</res-ref-name><!--指定引用资源工厂名      -->
    				<res-type>javax.sql.DataSource</res-type><!--指定数据源的类型,而它就是要使用数据源的Java接口(或者类)所期望的   -->
    				<res-auth>Application/Container</res-auth><!--res-auth元素定义是由企业bean的代码作为资源管理器,还是由容器作为资源管理器.后一个选择, 发布者可以对容器提供支持,这个元素的值必须是Application和Container中的一个      -->
    			</resource-ref>
    		</entity>
    	</enterprise-beans>
    	<assembly-descriptor><!--assembly-descriptor元素包含了应用配置信息.应用的装配信息由以下部分组成:安全角色的定义,许可访问的方法的定义,容器管理的事务属性的定义,所有的部分都是可选的,提供装配描述符在整个ejb-jar文件中也是可选的.  -->
    		<security-role><!--提供安全角色的定义,定义的内容包括角色的描述,角色的名称     -->
    			<description>A short description</description><!--简短的描述     -->
    			<role-name>name</role-name><!-- 安全角色的名称,名称要有意义    -->
    		</security-role>
    		<method-permission><!--指定企业bean的某个方法允许被哪个安全的角色访问,调用.这个元素由以下各项组成:可选的描述符,一个安全角色的名称列表,一个方法元素列表;在这里使用的安全角色必须在security-role元素中定义过的,而方法必须是在企业bean的home/remote接口中定义过的   -->
    			<description>A short description</description><!--简短的描述-->
    			<role-name>name</role-name><!--安全角色的名称,名称要有意义   -->
    			<method><!-- 1.<method>  -->
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>*</method-name>
    			</method><!--这种类型的定义将涉及到指定的企业bean的home及remote所有方法     -->
    			<method>
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>METHOD</method-name>
    			</method><!--这种定义涉及到特定的方法,如果bean有方法重载的话,那么这种定义就表示将涉及到所有的具有相同方法名的重载方法-->
    			<method>
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>METHOD</method-name>
    				<method-params>
    					<method-param>PARAM-1</method-param>
    					<method-param>PARAM-1</method-param>
    					<method-param>PARAM-n</method-param>
    				</method-params>
    			</method><!--使用这种方法只指定了一个方法,根据参数的不同来选择,参数的值是带全路经的java类型,如果方法无参, method-params元素里不包含任何method-param元素        -->
    			<method>
    				<description>A short description</description><!--简短的描述     -->
    				<ejb-name>EmployeeService</ejb-name>
    				<method-intf>Home/Remote</method-intf><!--method-intf 元素可以区分同时定义在home和remote接口中的方法,它的值必须是Home和Remote两者之一  -->
    				<method-name>nameOfMethod</method-name><!--the enterprise bean's remote and home interfaces中定义的方法名称,如果它的值是’*’的话,表示所有的方法         -->
    				<method-params><!-- 包含一系列的方法参数的全路经JAVA类型名     -->
    					<method-param>int[]</method-param><!--包含方法参数的全路经JAVA类型名    -->
    				</method-params>
    			</method>
    		</method-permission>
    		<container-transaction><!--container-transaction指定容器在企业bean方法论被调用的时候,是如何管理的事务领域的.由以下各项组成:可选的描述符,一系列方法元素,事务属性.应用事务属性到所有被指定的方法中.        -->
    			<description>A short description</description>
    			<method>
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>*</method-name>
    			</method><!--这种类型的定义将涉及到指定的企业bean的home及remote所有方法   -->
    			<method>
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>METHOD</method-name>
    			</method><!--这种定义涉及到特定的方法,如果bean有方法重载的话,那么这种定义就表示将涉及到所有的具有相同方法名的重载方法-->
    			<method>
    				<ejb-name>EJBNAME</ejb-name>
    				<method-name>METHOD</method-name>
    				<method-params>
    					<method-param>PARAM-1</method-param>
    					<method-param>PARAM-1</method-param>
    					<method-param>PARAM-n</method-param>
    				</method-params>
    			</method><!--使用这种方法只指定了一个方法,根据参数的不同来选择,参数的值是带全路经的java类型,如果方法无参, method-params元素里不包含任何method-param元素  -->
    			<method>
    				<description>A short description</description>
    				<ejb-name>EmployeeService</ejb-name>
    				<method-intf>Home/Remote</method-intf>
    				<method-name>nameOfMethod</method-name><!--the enterprise bean's remote and home interfaces中定义的方法名称,如果它的值是’*’的话,表示所有的方法 -->
    				<method-params>
    					<method-param>int[]</method-param><!--包含方法参数的全路经JAVA类型名-->
    				</method-params>
    			</method>
    			<trans-attribute>Supports</trans-attribute><!--trans-attribute元素指定了容器如何管理必须管理的事务界线,在一个企业bean的业务方法被调用的时候;它的值必须是下面几中之一:  NotSupported, Supports, Required, RequiresNew,Mandatory or Never            -->
    		</container-transaction>
    	</assembly-descriptor>
    	<ejb-client-jar>employee_service_client.jar</ejb-client-jar><!--可选的ejb-client-jar元素指定一个JAR文件,这个文件包含了一个客户端程序访问EJB-JAR文件中定义的企业Bean时所需要的类文件.发布者使得EJB CLIENT JAR 文件对于客户端的类装载器来说变得容易访问了-->
    </ejb-jar>
    

      

    1. <ejb-jar><!--EJB发布描述器的根元素,它包含一个可选的EJB-JAR文件的描述,可选显示的名称,可选小图标的文件名,可选的大图标的文件名,必须的所有被包含的enterprise bean 的结构信息 ,可选的应用装配描述器,可选的针对当前ejb-jar文件的ejb-client-jar 文件的名称 -->  
    2.     <description>A short description</description><!--ejb-jar 文件的描述性的说明    -->  
    3.     <display-name>A name</display-name><!--ejb-jar 文件显示的名称 -->  
    4.     <small-icon>employee-service-icon16x16.jpg</small-icon><!--small-icon 元素包含小图标(16 x 16)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用-->  
    5.     <large-icon>employee-service-icon32x32.jpg</large-icon><!--large-icon元素包含小图标(32 x 32)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用  -->  
    6.     <enterprise-beans><!--enterprise-beans元素包含了多个enterprise beans的声明描述  -->  
    7.         <session><!--Session元素声明了一个session bean.声明由以下这些组成:一个可选的描述符,可选的显示名称;可选的小图标文件名,可选的大图标文件名,在发布描述符中分配给这个企业bean的名字,当前sessionBean的home及remote接口的名称,sessionBean的实现类的名,sessionBean的状态管理类型,sessionBean的事务类型,一个可选的bean的环境条目,一个可选的引用的EJB的声明,一个可选的安全角色的引用声明,一个可选的资源工厂的引用声明,那些称为可选的元素当它们描述的内容为空时,可以将它们省略掉的  -->  
    8.             <description>A short description</description>  
    9.             <display-name>A name</display-name><!--要显示的名称,这个名字可以被别的工具引用到 -->  
    10.             <small-icon>employee-service-icon16x16.jpg</small-icon>  
    11.   
    12.             <large-icon>employee-service-icon32x32.jpg</large-icon>  
    13.             <ejb-name>EmployeeService</ejb-name><!-- ejb-name元素指明了企业bean的名称,它是由ejb-jar 文件的编写者命名的,这个名称在同一个ejb-jar文件中必须是唯一的,企业bean的代码不依赖于它,与它隔离的,所以企业bean的名称可以在应用装配的过程中改变而不会影响企业bean的功能.在发布描述器中的ejb-name与应用发布者即将分配给企业bean的home接口的JNDI的名称没有结构性的关系.名称必须定义的有意义  -->  
    14.             <home>com.aardvark.payroll.PayrollHome</home><!-- home元素包含企业bean的具有完全的路经(具有完整的包名)的home接口  -->  
    15.             <remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含企业bean的具有完全的路经(具有完整的包名)的remote接口  -->  
    16.             <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class><!-- ejb-class元素包含企业bean的具有完全的路经(具有完整的包名)的实现类    -->  
    17.             <session-type>Stateful/Stateless</session-type><!-- session-type元素描述 sessionbean是stateful的还是stateless的,必须是两者中的一种.   -->  
    18.             <transaction-type>Bean/Container</transaction-type><!-- transaction-type元素的值必须是Bean和Container中的一个,也就是说事务类型必须它们中的一种. -->  
    19.             <env-entry><!--env-entry元素包含了企业bean的环境条目(environment entries)的声明,声明的内容包括可选的描述符,环境条目的名称,及可选的值         -->  
    20.                 <description>A short description</description>  
    21.                 <env-entry-name>minAmount</env-entry-name><!--一个企业bean 的 environment entry的名称      -->  
    22.                 <env-entry-type>java.lang.String</env-entry-type><!--env-entry-type元素包含了具有`完全限制的企业bean代码期望得到的Java类型值,别的合法的类型值:                             java.lang.Boolean, java.lang.String,                             java.lang.Integer,                             java.lang.Double, java.lang.Byte, java.lang.Short,                              java.lang.Long, java.lang.Float.                       -->  
    23.                 <env-entry-value>100.00</env-entry-value><!-- env-entry-value元素描述了一个企业bean的环境条目的值  -->  
    24.             </env-entry>  
    25.             <ejb-ref><!-- ejb-ref元素描述对的别的企业bean的home接口的引用.描述由以下部分组成:可选的描述符,使用的引用(参照)的EJB的名称,引用的企业bean的期望的类型及home和remote接口,可选的ejb-link 信息-指定引用的企业bean的标示   -->  
    26.                 <description>A short description</description>  
    27.                 <ejb-ref-name>ejb/Payroll</ejb-ref-name><!--表示引用的企业bean的名称,EJB参照是企业bean环境中的一条条目,记住名称是以”ejb/”为前缀的     -->  
    28.                 <ejb-ref-type>Entity/Session</ejb-ref-type><!--引用的企业bean的类型,它的值必须是Entity和Session两者之一  -->  
    29.                 <home>com.aardvark.payroll.PayrollHome</home>  
    30.                 <remote>com.wombat.empl.EmployeeService</remote>  
    31.                 <ejb-link>EmployeeRecord</ejb-link><!--链接到被引用的企业bean,它的值(有联系企业bean)必须在同一个ejb-jar文件中,或者是在同一J2EE Application中的别的ejb-jar中(就是<ejb-name>元素定义的被引用的企业bean名称)  -->  
    32.             </ejb-ref>  
    33.             <security-role-ref><!--包含在企业bean中被引用的安全角色的声明,声明包括以下各项:可选的描述符,安全角色的名称,,可选的到一个已经定义的安全角色的连接ole-name元素的值必须是个string,可以作为参数传给EJBContext.isCallerInRole(String roleName)方法, role-link元素的值必须是在security-role元素中定义过的    -->  
    34.                 <description>A short description</description>  
    35.                 <role-name>name</role-name><!--  角色的名字,名字要有意义          -->  
    36.                 <role-link>name</role-link><!--一个已经定义的安全角色的连接,role-link元素的值必须是在security-role元素中定义过的   -->  
    37.             </security-role-ref>  
    38.             <resource-ref><!--包含企业bean对外部资源引用的声明,描述,它以下各项组成:可选的描述符, 引用资源工厂名,资源工厂的类型定义,认证的类型(bean或者container)          -->  
    39.                 <description>A short description</description><!--简短的描述         -->  
    40.                 <res-ref-name>name</res-ref-name><!--指定引用资源工厂名 -->  
    41.                 <res-type>javax.sql.DataSource</res-type><!--指定数据源的类型,而它就是要使用数据源的Java接口(或者类)所期望的    -->  
    42.                 <res-auth>Application/Container</res-auth><!--res-auth元素定义是由企业bean的代码作为资源管理器,还是由容器作为资源管理器.后一个选择, 发布者可以对容器提供支持,这个元素的值必须是Application和Container中的一个       -->  
    43.             </resource-ref>  
    44.         </session>  
    45.         <entity><!--entity元素描述entity bean的,这些描述性的声明有以下各项组成:可选的描述符,可选的显示名称,可选的小图标文件名,可选的大图标文件名,在发布描述中指定企业bean的名称;entity bean的home和remote接口的名称,entity bean的实现类;entity bean持久性管理的类型;主键类的名称; Entity Bean's reentrancy 的声明;可选的容器管理的字段的列表;可选的指定的primary key的字段名;bean 环境条目的声明;bean参照的声明,安全角色参照的声明,资源工厂的参照声明(可选).等等;如果entity持久管理类型是container的话,在描述中就可以将primarykey-field元素表示出来.至少有一个cmpfield元素,而bean管理的持久性,就不能有这些了.-->  
    46.             <description>A short description</description><!-- 一个简短的描述     -->  
    47.             <display-name>A name</display-name><!--要显示的名称,这个名字可以被别的工具引用到      -->  
    48.             <small-icon>employee-service-icon16x16.jpg</small-icon><!--small-icon 元素包含小图标(16 x 16)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用 -->  
    49.             <large-icon>employee-service-icon32x32.jpg</large-icon><!--large-icon元素包含小图标(32 x 32)的名字,这个名称是在ejb-jar文件的相对路经,文件必须是jpg或者是gif格式,文件名必须以.jpg.或者gif为后缀,图标可以被工具使用  -->  
    50.             <ejb-name>EmployeeService</ejb-name><!--ejb-name元素指明了企业bean的名称,它是由ejb-jar 文件的编写者命名的,这个名称在同一个ejb-jar文件中必须是唯一的,企业bean的代码不依赖于它,与它隔离的,所以企业bean的名称可以在应用装配的过程中改变而不会影响企业bean的功能.在发布描述器中的ejb-name与应用发布者即将分配给企业bean的home接口的JNDI的名称没有结构性的关系.名称必须定义的有意义   -->  
    51.             <home>com.aardvark.payroll.PayrollHome</home><!--home元素包含企业bean的具有完全的路经(具有完整的包名)的home接口  -->  
    52.             <remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含企业bean的具有完全的路经(具有完整的包名)的remote接口   -->  
    53.             <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class><!--ejb-class元素包含企业bean的具有完全的路经(具有完整的包名)的实现类 -->  
    54.             <persistence-type>Bean/Container</persistence-type><!--persistence-type元素指定entity bean的持久性管理的类型,它必须是下面两个之一:Bean,Container -->  
    55.             <prim-key-class>com.wombat.empl.EmployeeID</prim-key-class><!--prim-key-class元素指定了具有完全限定的entity bean的主键类的名称,如果主键类的定义依赖发布的时间, 主键类元素的值应该是java.lang.Object;   -->  
    56.             <reentrant>True/False</reentrant><!--The reentrant element specifies whether an entity bean is reentrant or not.The reentrant element must be one of the two following: True or False     -->  
    57.             <cmp-field><!-- cmp-field描述容器管理的字段.包括一个可选的字段描述,字段的名称.  -->  
    58.                 <description>A short description</description>  
    59.                 <field-name>firstName</field-name><!--field-name元素指定容器管理的字段的名,名称必须企业bean的公共字段或者是它的超类中的公共字段. -->  
    60.             </cmp-field>  
    61.             <primkey-field>fieldName</primkey-field><!--primkey-field元素指定容器管理的Bean的主键字段.它必须是在cmp-field元素中声明过的,类型必须和主键类的一样,如果主键映射为多个容器管理的字段(也就是说是一个复合主键),那么就地取材没必要条件使用这个元素了.在这种情况下,主键类的字段必须是公共的,它们的名字必须与包含主键的entity bean的字段名相符合.  -->  
    62.             <env-entry><!--env-entry元素包含了企业bean的环境入口(environment entries)的声明,声明的内容包括可选的描述符,环境入口的名称,及可选的值  -->  
    63.                 <description>A short description</description><!--简短的描述 -->  
    64.                 <env-entry-name>minAmount</env-entry-name><!--一个企业bean 的 environment entry的名称   -->  
    65.                 <env-entry-type>java.lang.String</env-entry-type><!--env-entry-type元素包含了具有`完全限制的企业bean代码期望得到的Java类型值,别的合法的类型值:java.lang.Boolean, java.lang.String, java.lang.Integer,java.lang.Double, java.lang.Byte, java.lang.Short,java.lang.Long, java.lang.Float.             -->  
    66.                 <env-entry-value>100.00</env-entry-value><!--env-entry-value元素描述了一个企业bean的环境入口的值  -->  
    67.             </env-entry>  
    68.   
    69.             <ejb-ref><!--ejb-ref元素描述对的别的企业bean的home接口的引用.描述由以下部分组成:可选的描述符,使用的引用(参照)的EJB的名称,引用的企业bean的期望的类型及home和remote接口,可选的ejb-link 信息-指定与引用的企业bean有关系的bean,在ejb-jar 文件中典型的包含一个应用的组装.       -->  
    70.                 <description>A short description</description><!--简短的描述  -->  
    71.                 <ejb-ref-name>ejb/Payroll</ejb-ref-name><!--表示引用的企业bean的名称,EJB参照是企业bean环境中的一条条目,记住名称是以”ejb/”为前缀的            -->  
    72.                 <ejb-ref-type>Entity/Session</ejb-ref-type><!--引用的企业bean的类型,它的值必须是Entity和Session两者之一  -->  
    73.                 <home>com.aardvark.payroll.PayrollHome</home><!--home元素包含被引用的企业bean的具有完全的路经(具有完整的包名)的home接口-->  
    74.                 <remote>com.wombat.empl.EmployeeService</remote><!--remote元素包含被引用的企业bean的具有完全的路经(具有完整的包名)的remote接口        -->  
    75.                 <ejb-link>EmployeeRecord</ejb-link><!--链接到被引用的企业bean,它的值(有联系企业bean)必须在同一个ejb-jar文件中,或者是在同一J2EE Application中的别的ejb-jar中(就是ejb-name元素定义的被引用的企业bean名称)     -->  
    76.             </ejb-ref>  
    77.             <security-role-ref><!--包含在企业bean中被引用的安全角色的声明,声明包括以下各项:可选的描述符,安全角色的名称,,可选的到一个已经定义的安全角色的连接ole-name元素的值必须是个string,可以作为参数传给EJBContext.isCallerInRole(String roleName)方法, role-link元素的值必须是在security-role元素中定义过的      -->  
    78.   
    79.                 <description>A short description</description><!--简短的描述       -->  
    80.                 <role-name>name</role-name><!--    角色的名字,名字要有意义    -->  
    81.                 <role-link>name</role-link><!--一个已经定义的安全角色的连接,role-link元素的值必须是在security-role元素中定义过的 -->  
    82.             </security-role-ref>  
    83.             <resource-ref><!--包含企业bean对外部资源引用的声明,描述,它以下各项组成:可选的描述符, 引用资源工厂名,资源工厂的类型定义,认证的类型(bean或者container)  -->  
    84.                 <description>A short description</description><!--简短的描述    -->  
    85.                 <res-ref-name>name</res-ref-name><!--指定引用资源工厂名      -->  
    86.                 <res-type>javax.sql.DataSource</res-type><!--指定数据源的类型,而它就是要使用数据源的Java接口(或者类)所期望的   -->  
    87.                 <res-auth>Application/Container</res-auth><!--res-auth元素定义是由企业bean的代码作为资源管理器,还是由容器作为资源管理器.后一个选择, 发布者可以对容器提供支持,这个元素的值必须是Application和Container中的一个      -->  
    88.             </resource-ref>  
    89.         </entity>  
    90.     </enterprise-beans>  
    91.     <assembly-descriptor><!--assembly-descriptor元素包含了应用配置信息.应用的装配信息由以下部分组成:安全角色的定义,许可访问的方法的定义,容器管理的事务属性的定义,所有的部分都是可选的,提供装配描述符在整个ejb-jar文件中也是可选的.  -->  
    92.         <security-role><!--提供安全角色的定义,定义的内容包括角色的描述,角色的名称     -->  
    93.             <description>A short description</description><!--简短的描述     -->  
    94.             <role-name>name</role-name><!-- 安全角色的名称,名称要有意义    -->  
    95.         </security-role>  
    96.         <method-permission><!--指定企业bean的某个方法允许被哪个安全的角色访问,调用.这个元素由以下各项组成:可选的描述符,一个安全角色的名称列表,一个方法元素列表;在这里使用的安全角色必须在security-role元素中定义过的,而方法必须是在企业bean的home/remote接口中定义过的   -->  
    97.             <description>A short description</description><!--简短的描述-->  
    98.             <role-name>name</role-name><!--安全角色的名称,名称要有意义   -->  
    99.             <method><!-- 1.<method>  -->  
    100.                 <ejb-name>EJBNAME</ejb-name>  
    101.                 <method-name>*</method-name>  
    102.             </method><!--这种类型的定义将涉及到指定的企业bean的home及remote所有方法     -->  
    103.             <method>  
    104.                 <ejb-name>EJBNAME</ejb-name>  
    105.                 <method-name>METHOD</method-name>  
    106.             </method><!--这种定义涉及到特定的方法,如果bean有方法重载的话,那么这种定义就表示将涉及到所有的具有相同方法名的重载方法-->  
    107.             <method>  
    108.                 <ejb-name>EJBNAME</ejb-name>  
    109.                 <method-name>METHOD</method-name>  
    110.                 <method-params>  
    111.                     <method-param>PARAM-1</method-param>  
    112.                     <method-param>PARAM-1</method-param>  
    113.                     <method-param>PARAM-n</method-param>  
    114.                 </method-params>  
    115.             </method><!--使用这种方法只指定了一个方法,根据参数的不同来选择,参数的值是带全路经的java类型,如果方法无参, method-params元素里不包含任何method-param元素        -->  
    116.             <method>  
    117.                 <description>A short description</description><!--简短的描述     -->  
    118.                 <ejb-name>EmployeeService</ejb-name>  
    119.                 <method-intf>Home/Remote</method-intf><!--method-intf 元素可以区分同时定义在home和remote接口中的方法,它的值必须是Home和Remote两者之一  -->  
    120.                 <method-name>nameOfMethod</method-name><!--the enterprise bean's remote and home interfaces中定义的方法名称,如果它的值是’*’的话,表示所有的方法         -->  
    121.                 <method-params><!-- 包含一系列的方法参数的全路经JAVA类型名     -->  
    122.                     <method-param>int[]</method-param><!--包含方法参数的全路经JAVA类型名    -->  
    123.                 </method-params>  
    124.             </method>  
    125.         </method-permission>  
    126.         <container-transaction><!--container-transaction指定容器在企业bean方法论被调用的时候,是如何管理的事务领域的.由以下各项组成:可选的描述符,一系列方法元素,事务属性.应用事务属性到所有被指定的方法中.        -->  
    127.             <description>A short description</description>  
    128.             <method>  
    129.                 <ejb-name>EJBNAME</ejb-name>  
    130.                 <method-name>*</method-name>  
    131.             </method><!--这种类型的定义将涉及到指定的企业bean的home及remote所有方法   -->  
    132.             <method>  
    133.                 <ejb-name>EJBNAME</ejb-name>  
    134.                 <method-name>METHOD</method-name>  
    135.             </method><!--这种定义涉及到特定的方法,如果bean有方法重载的话,那么这种定义就表示将涉及到所有的具有相同方法名的重载方法-->  
    136.             <method>  
    137.                 <ejb-name>EJBNAME</ejb-name>  
    138.                 <method-name>METHOD</method-name>  
    139.                 <method-params>  
    140.                     <method-param>PARAM-1</method-param>  
    141.                     <method-param>PARAM-1</method-param>  
    142.                     <method-param>PARAM-n</method-param>  
    143.                 </method-params>  
    144.             </method><!--使用这种方法只指定了一个方法,根据参数的不同来选择,参数的值是带全路经的java类型,如果方法无参, method-params元素里不包含任何method-param元素  -->  
    145.             <method>  
    146.                 <description>A short description</description>  
    147.                 <ejb-name>EmployeeService</ejb-name>  
    148.                 <method-intf>Home/Remote</method-intf>  
    149.                 <method-name>nameOfMethod</method-name><!--the enterprise bean's remote and home interfaces中定义的方法名称,如果它的值是’*’的话,表示所有的方法 -->  
    150.                 <method-params>  
    151.                     <method-param>int[]</method-param><!--包含方法参数的全路经JAVA类型名-->  
    152.                 </method-params>  
    153.             </method>  
    154.             <trans-attribute>Supports</trans-attribute><!--trans-attribute元素指定了容器如何管理必须管理的事务界线,在一个企业bean的业务方法被调用的时候;它的值必须是下面几中之一:  NotSupported, Supports, Required, RequiresNew,Mandatory or Never            -->  
    155.         </container-transaction>  
    156.     </assembly-descriptor>  
    157.     <ejb-client-jar>employee_service_client.jar</ejb-client-jar><!--可选的ejb-client-jar元素指定一个JAR文件,这个文件包含了一个客户端程序访问EJB-JAR文件中定义的企业Bean时所需要的类文件.发布者使得EJB CLIENT JAR 文件对于客户端的类装载器来说变得容易访问了-->  
    158. </ejb-jar>  
  • 相关阅读:
    插入迭代器
    operator[] 和 insert
    STL注意比较函数
    remove、erase
    reserve的使用
    allocator
    【转】【模板】求割点和桥
    【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu
    【强连通分量分解】
    【模拟ACM排名】ZOJ-2593 Ranking (Andrew Stankevich’s Contest #5)
  • 原文地址:https://www.cnblogs.com/firstdream/p/7846824.html
Copyright © 2020-2023  润新知