﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-SNOW NO Track-随笔分类-Java</title><link>http://www.blogjava.net/zhangxg/category/715.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 00:01:37 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 00:01:37 GMT</pubDate><ttl>60</ttl><item><title>JCA1.5学习笔记一</title><link>http://www.blogjava.net/Zhangxg/archive/2005/03/10/1919.html</link><dc:creator>SNOW NO Track</dc:creator><author>SNOW NO Track</author><pubDate>Thu, 10 Mar 2005 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/Zhangxg/archive/2005/03/10/1919.html</guid><wfw:comment>http://www.blogjava.net/Zhangxg/comments/1919.html</wfw:comment><comments>http://www.blogjava.net/Zhangxg/archive/2005/03/10/1919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Zhangxg/comments/commentRss/1919.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Zhangxg/services/trackbacks/1919.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">1、<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">范围</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt">JCA1.0</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义了在应用服务器和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">EIS(</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">企业信息系统</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间系统级的一个标准的协议集合，这些协议集中于集成的系统级的重要方面：连接管理（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">connection management</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），事务管理</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">(transaction management)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，安全管理</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">(security management)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。并且定义了客户端与多个企业信息系统交互的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">CCI(Common Client Interface)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通用客户端接口，以及针对资源适配器的一个标准的配置发布及打包协议。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>JCA1.5</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义了以下协议：</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63.15pt; TEXT-INDENT: -21pt; tab-stops: list 63.15pt; mso-list: l2 level1 lfo2"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生命周期管理协议（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Lifecycle management contract</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：这是应用服务器和资源适配器之间的一个协议，允许应用服务器来管理资源适配器的生命周期。这个协议为应用服务器在资源适配器在配置发布或应用服务器启动的时候提供一种启动资源适配器实例的机制，并且在资源适配器卸载或应用服务器关闭的时候通知资源适配器实例关闭。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63.15pt; TEXT-INDENT: -21pt; tab-stops: list 63.15pt; mso-list: l2 level1 lfo2"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工作管理协议（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Work managerment contract</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：这是应用服务器和资源适配器之间的一个协议，该协议允许资源适配器通过提交工作实例给应用服务器来做一些工作（象监视网络端口，调用应用程序组件等）。然后应用服务器通过分配线程来执行提交的工作实例，这就避免了资源适配器为了执行一些任务来直接创建或者管理线程，并且可以使得应用服务器在运行时环境对线程池来实施更多更有效的控制管理。并且资源适配器能控制被执行的工作实例的安全上下文环境和事务上下文环境。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63.15pt; TEXT-INDENT: -21pt; tab-stops: list 63.15pt; mso-list: l2 level1 lfo2"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事务流入协议（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Transaction inflow contract</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">:</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该协议是应用服务器和资源适配器之间的一个协议，它允许资源适配器来传递一个输入事务到应用服务器。这个协议也允许资源适配器来传递由企业信息系统初始化的事务完成和故障恢复调用，并且能确保被输入的事务的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ACID(Atomicity</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原子性</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">,Consistency</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一致性</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">,Isolation</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">隔离性</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"> and Durability</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">持久性</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性被保留。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63.15pt; TEXT-INDENT: -21pt; tab-stops: list 63.15pt; mso-list: l2 level1 lfo2"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">消息流入协议（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Message inflow contract</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：这是应用服务器和资源适配器之间一个标准的、通用的协议，它允许资源适配器以独立于发送消息所使用的具体消息格式、消息语义、消息结构的方式异步的发送消息到位于应用服务器中的消息端口。这个协议也允许更广泛消息提供者（象</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Java Message Service,Java API for XML Messaging</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等）通过资源适配器以插件的方式插入到</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">J2EE</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">兼容的应用服务器中。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63.15pt; TEXT-INDENT: -21pt; tab-stops: list 63.15pt; mso-list: l2 level1 lfo2"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">针对不通类型（</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">outbound only</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出，</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">inbound only</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入，</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">or both</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入输出）的资源适配器描述对应的打包模式。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2、<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生命周期管理</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 14pt"><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level2 lfo1"><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用服务器实现</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">javax.resource.spi.BootstrapContext</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">javax.resource.spi.WorkManager</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口。资源适配器实现</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">javax.resource.spi.ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口。实现</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的类是在资源适配器的配置描述文件中指定的，并且这个实现类必须是一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当一个资源适配器被配置发布或者应用服务器启动的时候，应用服务器在它自己的地址空间启动一个资源适配器的实例。为了启动一个资源适配器实例，应用服务器必须使用配置了的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的实现类，并且调用它的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法，这个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法调用是来自应用服务器的启动通知，并且这个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法是被应用服务器的线程调用的。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个应用服务器允许在同一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">JVM</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中同时存在多个资源适配器实例，但这些实例不一定相等，判断这些实例是否相等，可以通过实例的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">equals</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法，因此</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的实现类需要实现</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">equals</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法调用中，资源适配器实例初始化自己，并且可能使用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">WorkManager</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来提交</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">Work</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例来执行。这个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法调用应该及时返回，应该避免阻塞调用，如调用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">WorkManager</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">doWork</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法就是阻塞调用。如果在</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法中调用了</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">WorkManager</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">doWork</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法或者任何阻塞的方法，应用服务器都可能抛出一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">WorkRejectedException</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">异常，为了强制</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法不被阻塞，强烈建议资源适配器实现使用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">WorkManager</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">startWork</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">scheduleWork</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法来代替</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">doWork</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在调用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">start</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法时抛出任何异常将导致应用服务器创建资源适配器实例失败，在</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">JCA</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将来的版本中可能要增加两阶段启动过程。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示一个资源适配器实例，并且包含相对应资源适配器实例的配置信息，这个配置信息对</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来说可能也被使用作为全局缺省的配置信息。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个资源适配器实例对于多个企业信息系统实例来说可能提供双向的链接。一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能被使用来提供对单个的企业信息系统的输出连接。一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能被使用来提供来自企业信息系统的输入连接；一个资源适配器实例可能包括几个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level2 lfo1"><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就表示通过资源适配器从应用到企业信息系统实例的一个输出链接。同时也包含相应的输出连接配置信息，该配置信息是是继承</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配置信息的，也就是说输出连接的配置信息是</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两者配置信息的综合，并且</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配置信息可能覆盖</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配置信息（在两者中都存在相同名称的配置信息时）。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level2 lfo1"><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出连接是由应用服务器发起的，并且必须创建一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的一个关联，建立关联是通过调用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">RsourceAdapterAssociation</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">setResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法来做到的，</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapterAssociation</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口指明</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ManagedConnectionFactory JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的关联关系。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">setResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">至少要调用一次，也就是说这个关联也是可以改变的。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level2 lfo1"><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示通过资源适配器实例从企业信息系统到应用服务器的输入连接，它也同样包含输入连接的配置信息，该配置信息也是</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的综合。输入连接是由企业信息系统发起的。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ActivationSpec JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也必须和</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResouceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关联，因为不管是输出连接还是输入连接都是通过</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个中间桥梁来建立连接的。也是通过</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">setResourceAdatper</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法来达到关联的目的的。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level2 lfo1"><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-size: 12.0pt"><SPAN style="mso-list: Ignore">²<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">资源适配器实例关闭需要经过两个阶段：第一阶段应用服务器停止所有使用此资源适配器实例的应用组件，直到所有的应用线程不在使用此资源适配器实例。第二阶段是调用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">ResourceAdapter JavaBean</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt">stop</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法来通知资源适配器实例停止服务。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">3、<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接管理</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 14pt"><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -21pt; tab-stops: list 63.0pt; mso-list: l1 level1 lfo3"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">A)<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用程序组件通过</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">JNDI</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">找到连接工厂</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ConnectionFactory<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -21pt; tab-stops: list 63.0pt; mso-list: l1 level1 lfo3"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">B)<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ConnectionFactory</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将创建连接的请求传给</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ConnectionManager</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例。</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -21pt; tab-stops: list 63.0pt; mso-list: l1 level1 lfo3"><SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">C)<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ConnectionManager</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接收到连接工厂的请求之后，查询由应用服务器提供的连接池，如果有符合要求的连接在池中就将匹配的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ManagedConnection</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例来满足连接请求，直接返回给连接工厂，然后连接工厂返回给应用组件，如果没有符合要求的连接在池中，应用服务器就使用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ManagedConnectionFactory</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的实现类（在资源适配器中实现）来创建一个新的到企业信息系统的底层物理连接，应用服务器将这个新创建的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ManagedConnection</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例放到连接池中，并且注册一个</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ConnectionEventListener</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现到</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ManagedConnection</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例中，这个监听器可以使应用服务器得到关于</SPAN><SPAN lang=EN-US style="FONT-SIZE: 14pt">ManagedConnection</SPAN><SPAN style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例状态改变的通知。然后返回给应用组件。</SPAN></P><img src ="http://www.blogjava.net/Zhangxg/aggbug/1919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Zhangxg/" target="_blank">SNOW NO Track</a> 2005-03-10 16:39 <a href="http://www.blogjava.net/Zhangxg/archive/2005/03/10/1919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>