使用 EJB 提供程序
2008-01-05 09:34:11 来源:WEB开发网核心提示:使用 EJB 提供程序 EJB 提供程序答应 WSIF 客户机调用企业 bean,EJB 客户机 JAR 在客户机运行时中必须与当前的提供程序一起提供,使用 EJB 提供程序,企业 bean 是使用正常 EJB 调用方法、RMI-IIOP 和当前安全性与事务上下文调用的,假如在某个事务内调用 EJB 提供程序,它指定初
使用 EJB 提供程序
EJB 提供程序答应 WSIF 客户机调用企业 bean。EJB 客户机 JAR 在客户机运行时中必须与当前的提供程序一起提供。企业 bean 是使用正常 EJB 调用方法、RMI-IIOP 和当前安全性与事务上下文调用的。假如在某个事务内调用 EJB 提供程序,则该事务将传递至正在进行的服务,并且将应用标准 EJB 事务属性。
假如存在多个服务实现,则由服务的提供程序确保它们提供了相同的语义。例如,假如存在事务性,则 bean 部署者应指定 TX_REQUIRES_NEW 以强制执行新的事务。
EJB 提供程序 — 编写 WSDL 扩展
EJB 提供程序答应通过 RMI/IIOP 调用企业 bean。为了使用 EJB 提供程序,您需要在 WSDL 中指定此绑定:
<!-- EJB binding --> <binding .... > <ejb:binding /> <format:typeMapping style="java" encoding="Java"/>? <format:typeMap name="qname" formatType="nmtoken"/>* </format:typeMapping> <Operation>* <ejb:operation methodName="nmtoken" parameterOrder="nmtoken" returnPart="nmtoken"? interface="remotehome" /> <input name="nmtoken"? />? <output name="nmtoken"? />? <fault name="nmtoken"? />? </operation> </binding>
其中 ? 表示可选的,而 * 表示 0 或更多。
注重:
- format:typeMap name 属性是其中一个 EJB 操作使用的简单类型或复杂类型的限定名称。
- format:typeMap formatType 属性是 Java 类的全限定类名,此 Java 类是由名称指定的元素所映射的。
- ejb:operation methodName 属性是操作对企业 bean 调用的方法的名称。
- ejb:operation parameterOrder 属性包含空格分隔的部件名列表,它定义了将名称传递至 EJB 方法的顺序。
- ejb:operation interface 属性必须设置为“remote”或“home”。该值指定企业 bean 的接口,在此接口上可以访问由 method 属性命名的方法。
<service ... > <port>* <ejb:address class="nmtoken" jndiName="nmtoken" initialContextFactory="nmtoken" ? jndiproviderURL="nmtoken" ? /> </port> </service>
注重:
- ejb:address class 属性指定企业 bean 的全限定类名主接口类。
- ejb:address jndiName 属性指定用于查找企业 bean 的完整 JNDI 名称。
- ejb:address initialContextFactory 属性是可选的,它指定初始上下文生成器类。
- ejb:address jndiPRoviderURL 属性是可选的,它指定 JNDI 提供程序 URL。
赞助商链接