紧接上文:
在method 元素中,methodType 元素有三种风格的用法:
1.
<method>
<ejb-name>EJBNAME</ejb-name>
<method-name>*</method-name>
</method>
这个方法用于指定企业bean 的业务、home、组件和/或web 服务终端接口中的所有方法。
2.
<method>
<ejb-name>EJBNAME</ejb-name>
<method-name>METHOD</method-name>
</method>
这个风格用于指定特定企业bean 的特定方法。如果有多个同名的重载方法,那么这个风格指的是所有同名的方法。
3.
<method>
<ejb-name>EJBNAME</ejb-name>
<method-name>METHOD</method-name>
<method-params>
<method-param>PARAM-1</method-param>
<method-param>PARAM-2</method-param>
...
<method-param>PARAM-n</method-param>
</method-params>
</method>
这个风格用于在一系列同名方法中指定一个方法。PARAM-1 到PARAM-n是方法入参的java 类型全称(如果没有入参,则method-params 不包含method-param 元素)。数组由数组元素类型指定,后跟一到多个方括号(例如,int[][])。如果有多个具有相同名字的方法,这个风格指所有同名的方法。
例如:
风格 1: 下面的method 元素指的EmployeeService 企业bean 的业务、home、组件和/或web 服务终端接口中的所有方法:
<method>
<ejb-name>EmployeeService</ejb-name>
<method-name>*</method-name>
</method>
风格 2: 下面的method 元素指的是 EmployeeService 的home 接口内的所有创建方法。
<method>
<ejb-name>EmployeeService</ejb-name>
<method-name>create</method-name>
</method>
风格 3: 下面的method 元素指的是EmployeeService 企业bean 的home 接口中的create(String firstName, String LastName)方法。
<method>
<ejb-name>EmployeeService</ejb-name>
<method-name>create</method-name>
<method-params>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
下面的例子解释了风格3 元素中有更复杂参数类型的元素。方法foobar(char s, int i, int[] iar, mypackage.MyClass mycl,mypackage.MyClass[][] myclaar)将被指定为:
<method>
<ejb-name>EmployeeService</ejb-name>
<method-name>foobar</method-name>
<method-params>
<method-param>char</method-param>
<method-param>int</method-param>
<method-param>int[]</method-param>
<method-param>mypackage.MyClass</method-param>
<method-param>mypackage.MyClass[][]</method-param>
</method-params>
</method>
可选的method-intf 元素在需要区分分别在企业bean 的业务、home、组件和/或web 服务终端接口中具有相同名字和标识符的方法。但是,如果同一个方法既是本地业务接口的方法又是本地组件接口的方法,那么相同的属性会同时应用到两个接口上。同样的,如果同一个方法既是远程业务接口又是远程组件接口的方法,那么同样的属性也同时应用到这个两个接口上。
例如,method 元素
<method>
<ejb-name>EmployeeService</ejb-name>
<method-intf>Remote</method-intf>
<method-name>create</method-name>
<method-params>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
可以被用于区分定义在远程接口的create(String, String)和定义在远程home接口中的create(String, String), 它将按如下定义:
<method>
<ejb-name>EmployeeService</ejb-name>
<method-intf>Home</method-intf>
<method-name>create</method-name>
<method-params>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
并且,定义在本地home 接口中的create 方法将被定义为:
<method>
<ejb-name>EmployeeService</ejb-name>
<method-intf>LocalHome</method-intf>
<method-name>create</method-name>
<method-params>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
分享到:
相关推荐
《Java与XML第三版》是一本深入探讨Java与XML集成技术的专业书籍,旨在帮助开发者理解和应用这两种技术在软件开发中的协同工作。XML(Extensible Markup Language)作为一种数据交换和存储的标准,广泛应用于分布式...
第11章 利用JDBC访问数据库 152 11.1 JDBC基础 152 11.1.1 如何用JDBC访问数据库 152 11.2 实例——利用JDBC访问SQL Server数据库 154 11.3 小结 156 第12章 利用Hibernate访问数据库 157 12.1 ORM——...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程...
第十一章 事件处理模型....................79 第十三章 线程(Threads)....................80 第十四章 标准I/O流与文件.............84 第十五章 网络编程.89 Tiger学习笔记..................94 第一章 Java5.0...
第十一章 事件处理模型....................79 第十三章 线程(Threads)....................80 第十四章 标准I/O流与文件.............84 第十五章 网络编程.89 Tiger学习笔记..................94 第一章 Java5.0新...
第11章 实现对话 11.1 传播Hibernate Session 11.1.1 Session传播的用例 11.1.2 通过线程局部传播 11.1.3 利用JTA传播 11.1.4 利用EJB传播 11.2 利用Hibernate的对话 11.2.1 提供对话...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程...
例如第一题可能是数列问题,通过观察数字1、2、5、11、23,可以发现每个数字是前一个数字加上的递增序列(1, 3, 6, 12),所以下一个数字应该是23 + 12 = 35。 - 运算问题:第二题涉及百分比计算,可以通过设立方程...
第11章 Hibernate的映射类型 11.1 Hibernate的内置映射类型 11.1.1 Java基本类型的Hibernate映射类型 11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 ...
if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0. if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3. 答对第一点得5分,答对第二点得10分. 本题考察最最基本的知识,但仍然有很多大牛级开发人员...
在Web服务中,读者可以学习如何创建和消费服务,理解WSDL和XML Schema的原理。EJB部分则可能包含状态管理和会话bean的实现,以及事务管理。JPA则涉及到数据库对象的持久化,学习ORM(对象关系映射)的概念。 Case...
当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例...
第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 解决方案 442 11.1.3 工作原理 442 11.2 创建Grails应用 443 11.2.1 问题 443 11.2.2 解决方案 443 11.2.3 工作原理 443 ...
第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 解决方案 442 11.1.3 工作原理 442 11.2 创建Grails应用 443 11.2.1 问题 443 11.2.2 解决方案 443 11.2.3 工作原理 443 ...
1. **基础知识**:这是学习JAVA的第一步,包括基础语法,如数据类型、控制结构、方法等。面向对象是JAVA的核心,包括类、对象、封装、继承和多态。集合框架(如ArrayList、LinkedList、HashMap等)和类库API(如Math...
5. **XML与DTD或Schemas**:XML文档可以有DTD(文档类型定义)或Schema来定义其结构,但这不是强制性的。因此,答案是B,不对。 6. **动态网站技术**:CGI(通用网关接口)、ASP(Active Server Pages)和PHP都是...