[英]Loading JDBCRealm driver jar from WEB-INF/lib instead of tomcat/lib
我在這里遇到類似的問題: 在context.xml中配置jdbcRealm
配置示例-我的領域嵌套在上下文中,因為我希望它特定於Web應用程序。
<Context>
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="9"
connectionName="username"
connectionPassword="password"
connectionURL="url"
driverName="com.ibm.db2.jcc.DB2Driver"
roleNameCol="PERMISSION"
userCredCol="PASSWORD"
userNameCol="USERID"
userRoleTable="ROLESTABLE"
userTable="USERSTABLE"/>
</Context>
解決方案是將驅動程序jar放入tomcat / lib文件夾中。 如果將db2驅動程序jar放在該文件夾中,它將起作用。
但是,我想從application / WEB-INF / lib加載jar,這樣就不必對Tomcat安裝進行更改。 罐子在那里,但是驗證器似乎找不到它。
謝謝!
修補之后,我找到了解決方案。 DB已獲得資源,並且領域引用了該資源,而不是指定JDBCRealm本身。 以下context.xml位於Web應用程序的META-INF文件夾中。
<Context>
<Resource name="jdbc/DBNAME"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="25"
maxWait="30000"
username="USERNAME"
password="PASSWORD"
driverClassName="DRIVER"
url="URL"
removeAbandoned="true"
logAbandoned="true"
validationQuery="select * from test"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="1800000"
/>
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/DBNAME"
localDataSource="true"
roleNameCol="PERMISSION"
userCredCol="PASSWORD"
userNameCol="USERID"
userRoleTable="ROLESTABLE"
userTable="USERSTABLE"/>
</Context>
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.