Tomcat里以JNDI的方式配置数据源、队列工厂,常用的两种方式配置方式及区别:
1.在context.xml里:
1.在context.xml里:
<!--连接工厂定义-->
<
Resource
name ="jms/queueConnectionFactory" auth= "Container"
type
=
"com.ibm.mq.jms.MQConnectionFactory"
factory
=
"com.ibm.mq.jms.MQConnectionFactoryFactory"
description
=
"JMS Queue Connection Factory for sending messages"
HOST
=
"192.168.157.94"
PORT
=
"1414" CHAN ="STORE.CONN" TRAN="1" CCSID= "437"
QMGR
="B2CEventQueueMgr" />
<!--队列定义-->
<
Resource
name ="jms/requestMDPQueue" auth= "Container"
type
="com.ibm.mq.jms.MQQueue"
factory
=
"com.ibm.mq.jms.MQQueueFactory"
description
=
"JMS Queue for receiving messages from Dialog"
QU
=
"imgtest_request" CCSID ="437" />
<
Resource
name ="jms/responseMDPQueue" auth= "Container"
type
=
"com.ibm.mq.jms.MQQueue"
factory
=
"com.ibm.mq.jms.MQQueueFactory"
description
=
"JMS Queue for receiving messages from Dialog"
QU
=
"imgtest_response"
CCSID= "437" />
<!-- 数据源配置 -->
<
Resource
name ="jdbc/uimgDS" auth="Container"
type
=
"javax.sql.DataSource" maxActive ="20" maxIdle="10"
maxWait
=
"1000" username ="uimg" password="GCtw5llG"
driverClassName
=
"com.ibm.db2.jcc.DB2Driver"
url
=
"jdbc:db2://192.168.157.114:60016/uimgdb:currentSchema=UIMG;"/>
2.在server.xml里:
<!-- 数据源配置 -->
<
Resource
name ="jdbc/uimgDS" auth="Container"
type
=
"javax.sql.DataSource" maxActive ="20" maxIdle="10"
maxWait
=
"1000" username ="uimg" password="GCtw5llG"
driverClassName
=
"com.ibm.db2.jcc.DB2Driver"
url
=
"jdbc:db2://192.168.157.114:60016/uimgdb:currentSchema=UIMG;"/>
这里还要在context.xml中添加资源链接:
< ResourceLink name ="jdbc/uimgDS" global = "jdbc/uimgDS"type= "javax.sql.DataSource"/>
这里还要在context.xml中添加资源链接:
< ResourceLink name ="jdbc/uimgDS" global = "jdbc/uimgDS"type= "javax.sql.DataSource"/>
区别:
按第一种方式在context.xml中添加,这时启动server的时候,是不加载这些资源的,只有在应用第一次访问的时候才会去加载,指定的类的jar包可以放在tomcat的lib目录下,也可以放在classpath里面,都可以找到,如果缺少,则会抛出异常。
按第二种方式在server.xml中添加, 这种方式的配置,会在启动server的时候加载资源,指定的类的jar包必须放在tomcat的lib目录下,如果找不到,则会抛出异常。
按第一种方式在context.xml中添加,这时启动server的时候,是不加载这些资源的,只有在应用第一次访问的时候才会去加载,指定的类的jar包可以放在tomcat的lib目录下,也可以放在classpath里面,都可以找到,如果缺少,则会抛出异常。
按第二种方式在server.xml中添加, 这种方式的配置,会在启动server的时候加载资源,指定的类的jar包必须放在tomcat的lib目录下,如果找不到,则会抛出异常。