如何将JNDI数据库池用于JDBC存储会话持久性

时间:2012-02-12 18:40:01

标签: tomcat persistence jndi persistence-manager

我正在使用JDBCStore在MySQL中存储会话。它运行正常,但默认配置选项似乎不支持数据库池(可通过JDBC JNDI资源获得)。

是否可以将JNDI JDBC资源用于JDBC Persistence Manager,以便容器在每次需要持久化或检索会话数据时都不必创建新连接?

干杯, 史蒂夫

1 个答案:

答案 0 :(得分:2)

请尝试以下代码:

<Manager className="org.apache.catalina.session.PersistentManager" 
                     saveOnRestart="true" 
                     maxActiveSessions="-1" 
                     minIdleSwap="-1" 
                     maxIdleSwap="10" 
                     maxIdleBackup="10">
            <Store className="org.apache.catalina.session.JDBCStore"
                dataSourceName="jdbc/intra_gcc"
                checkInterval="30"
                sessionTable="sesion$tomcat"
                sessionAppCol="sesapp"
                sessionIdCol="idses"
                sessionDataCol="datsession"
                sessionValidCol="valid"
                sessionMaxInactiveCol="maxinactive"
                sessionLastAccessedCol="ultaccess"/>
</Manager> 

dataSourceName 是以前的JNDI资源名称。