获取对 JCA 适配器内的 EJB3 本地业务接口的引用
题
我想知道是否可以在jca适配器内获取对ejb3本地业务接口的引用?
资源适配器和ejb .jar
都被打包进同一个 .ear
. 。应用程序在带有 ejb3 功能包的 WebSphere AS 6.1 下运行。
我尝试过使用 ejblocal:<full_class_name_of_local_interface>
作为 JNDI 名称,但没有成功。
解决方案
你想做的可能是 概念上错误. 。JCA 适配器不应依赖于 EJB —— JCA 适配器不应查找 EJB。
但 JCA 适配器适用于 入境 和 出境 不过连接性。JCA 连接器与 EJB(入站连接)通信的正确方法是通过消息驱动 bean(MDB).
- JCA 适配器定义了将用于通信的接口。
- 然后,自定义 MDB 可以实现此接口并可以接收来自适配器的入站请求。
我同意,在这种情况下,“消息驱动 bean”这个名称有点误导。自定义 MDB 实际上就像 EJB,接收来自 JCA 连接器的调用。它不一定与消息或异步处理相关。如果您想要自定义 MDB,则可以查找或让其他 EJB 注入来委托处理。
最好看的文档是“使用 J2EE 连接器架构 1.5 创建资源适配器。 它提供了入站和出站连接的示例。相应的代码可以在SDK附带的J2EE示例中找到。
不隶属于 StackOverflow