Step8 为资源适配器指定J2C连接工厂
选中刚才部署的J2EE应用,顺次选择【连接器模块】→【demo.rar】→【J2C 连接工厂】,新建一个J2C连接工厂,它的名称为DemoEISFactory,JNDI名称为"eis/DemoEISFactory",其它默认,然后点击确定。最后别忘了保存配置。
Step9 重新启动应用服务器,启动EIS服务(src/eis-server/run.bat),在浏览器里输入:
http://localhost:9080/resource/test.jsp?name=hellking
进行测试,如果测试成功,那么结果和图9一样。
在JBOSS3.2下部署连接器和J2EE应用
JBOSS虽然没有装配工具和部署控制台,但是在JBOSS下部署J2EE应用和资源适配器同样非常方便,JBOSS支持及时开发、及时部署的方式,当把要部署的应用拷贝到JBOSS的部署目录下,JBOSS应用服务器会自动部署它。
在JBOSS下部署应用时,可以不打包,而是直接J2EE应用放在名称为***.jar、***.ear的文件夹下。如图15所示。
图15 JBOSS下的J2EE应用的结构

Step1 手工编写资源适配器的部署描述符,如例程5所示。
例程5 JBOSS下的资源适配器的部署描述符
2 <server>
3 <mbean code="org.jboss.resource.connectionmanager.NoTxConnectionManager"
4 name="jboss.jca:service=NoTxCM,name=DemoRA">
5 <depends>jboss.jca:service=RARDeployer</depends>
6 <depends optional-attribute-name="ManagedConnectionFactoryName">
7 <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
8 name="jboss.jca:service=NoTxDemo,name=DemoRA">
9 <depends optional-attribute-name="OldRarDeployment">
10 jboss.jca:service=RARDeployment,name=DemoRA
11 </depends>
12 <attribute name="JndiName">NoTransDemo</attribute>
13 </mbean>
14 </depends>
15 <depends optional-attribute-name="ManagedConnectionPool">
16 <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool"
17 name="jboss.jca:service=NoTxPool,name=DemoRA">
18 <attribute name="MinSize">0</attribute>
19 <attribute name="MaxSize">50</attribute>
20 <attribute name="BlockingTimeoutMillis">5000</attribute>
21 <attribute name="IdleTimeoutMinutes">15</attribute>
22 <attribute name="Criteria">ByContainer</attribute>
23 </mbean>
24 </depends>
25 <depends optional-attribute-name="CachedConnectionManager">
26 jboss.jca:service=CachedConnectionManager
27 </depends>
28 <depends optional-attribute-name="JaasSecurityManagerService">
29 jboss.security:service=JaasSecurityManager
30 </depends>
31 </mbean>
32 </server>
33
注意上面的两个黑体字,name=DemoRA,这里的DemoRA必须和资源适配器部署描述符ra.xml中的"DemoRA"保持一致,NoTransDemo是使用这个资源适配器的JNDI名字,使用"java:/ NoTransDemo"来引用它。把这个文件保存为hellkingjca-service.xml。
Step2 手工编写EJB的部署描述符jboss.xml。
并且在部署描述符里指定对资源适配器的引用。如例程6所示。
例程6 在EJB的描述中指定对资源适配器的引用
2 <?xml version="1.0"?>
3 <jboss>
4 <secure>false</secure>
5 <container-configurations />
6 <resource-managers />
7 <enterprise-beans>
8 <session>
9 <ejb-name>DemoEJB</ejb-name>
10 <jndi-name>ejb/demo</jndi-name>
11 <resource-ref>
12 <res-ref-name>eis/DemoEISFactory</res-ref-name>
13 <jndi-name>java:/NoTransDemo</jndi-name>
14 </resource-ref>
15 </session>
16 </enterprise-beans>
17 </jboss>
18
注意对资源适配器引用的JNDI名字,它必须和hellkingjca-service.xml的指定的JNDI名字一致。把这个文件保存在resource.ear/hello.jar/META-INF/目录下。
Step 3 部署,把resource.ear文件夹和hellkingjca-service.xml拷贝到%JBOSS_HOME%\\server\\default\\deploy\\目录下。启动JBOSS,部署就会自动完成。
Step4 测试,启动JBOSS和EIS服务(src/eis-server/run.bat),在浏览器里输入:
http://localhost:8080/resource/test.jsp?name=hellking
即可进行测试,如果一切成功,那么结果应该和图9一样。