簡體   English   中英

從WEB-INF / lib而不是tomcat / lib加載JDBCRealm驅動程序jar

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM