技术开发 频道

在不同平台下部署J2EE连接器和J2EE应用

  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下的资源适配器的部署描述符

1 例程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的描述中指定对资源适配器的引用

1 例程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一样。

0
相关文章