EJB3的XML Schema第十一讲

紧接上文:
在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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值