JavaEE Con​​nector Architecture - 系统契约和公共客户端接口之间的区别

时间:2013-06-10 20:09:16

标签: java java-ee jca cci

我需要创建一个slidehare以简单的方式介绍JCA。现在我正在努力了解整个事情,但我仍然被困在某些地方。我正在阅读IBM教程,并且在其示例代码中它没有实现事务和安全合同,而是使用了Interaction,InteractionSpec,RecordFactory和IndexedRecords接口/类(我认为这就是CCI)。

在分享中,我发现他们表示需要实施JCA v1规范的合同,在这个例子中,如果我理解的话,只使用“连接管理合同”。

(ConnectionMetaData,ConnectionFactory,Connection)或(ManagedConnectionFactory,ManagedConnection,ManagedConnectionMetaData)< - 这些之间的差异是什么,并且前缀为“托管”的接口是所谓的“托管连接合同”?

另外我还不太确定CCI是否仅用于创建资源适配器?或者我可以将其用作应用程序服务器中的“框架”以与资源适配器进行通信。在Bean示例中,他们使用JNDI查找来获取ConnectionFactory的实例,并使用扩展CCI类的重载方法。

我理解合同“做什么”但我何时使用系统合同以及何时使用CCI。我没有达到目的。

CCI在我的资源适配器中是某种“API方法”,然后我可以在我的应用程序服务器实现中使用吗?

JCA的第一眼看上去非常复杂。

我如何与JBoss,Tomcat设置中的资源适配器进行通信。

1 个答案:

答案 0 :(得分:0)

是的,JCA是一个相当复杂的机器。客户端操作的对象(即EJB,Servlet)不是JCA适配器中的内部对象。

据我所知,这种“分裂”的原因之一是连接池由应用服务器管理。因此,获取连接是客户端,应用程序服务器和资源适配器内部之间的交互。我很久没有使用JCA,所以我不记得细节。但是,几年前我在a blog post对JCA的理解已经倾倒了,也许它会帮助你。