我正在使用Tomcat的7连接池。我的配置如下:
在server.xml
:Tomcat:我搞砸了我的jndi连接设置或什么?
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="jdbc_DS" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="org.h2.Driver"
url="jdbc:h2:file:absolutePathtodatabase"
username="root" password=""
maxActive="20" maxIdle="10" maxWait="-1"
/>
</GlobalNamingResources>
而且在context.xml中:
<ResourceLink name="jdbc/myDS"
global="jdbc_DS"
type="javax.sql.DataSource"/>
这似乎工作,但我注意到以下几点:
在资源here:global resources它的属性并没有提及factory
作为Resource
的属性。但是我已经在server.xml
中定义了它,并没有发生错误。
这是什么意思?我在这里没有使用org.apache.tomcat.jdbc.pool.DataSourceFactory
工厂吗?
在给出的链接中,引用是在'context.xml'中定义的'Resource',但是我在'server.xml'中使用'GlobalNamingResources'.Am我错误地使用'server.xml '?我看过很多例子,使用'server.xml'搜索google0001 – Jim 2012-03-01 08:16:43
我看到全局和本地“'''声明”没有区别。你用''来使用全局变量,并且期望有相同的属性。否则,您无法在全球范围内声明“完整”资源。 –
2012-03-01 08:26:25
我的关注点如下:'context.xml'中的'resource'作为嵌套组件被定义为在doc的链接中具有'factory'属性,但是'resource'作为'server.xml'中的嵌套组件(嵌套在'globalresources'中)似乎没有一个。你说这个元素在两个xml文件('server.xml'和'context.xml')中是相同的吗? – Jim 2012-03-01 08:30:01