2011-03-01 61 views
6

我们拥有一组共享运行mod_jk的公共Web服务器的Tomcat服务器集群。我们目前使用粘性会话来处理会话处理,但我们希望转移到JDBC会话共享。有没有人有一个好的资源或一步一步的解决方案来处理这个问题?使用JDBC和Tomcat进行持久会话

我不确定这个问题是否适用于stackoverflow,serverfault或DBA,但在这里。 :)

编辑:

我觉得我的问题的内容必须是混乱的。我所指的会话是用户会话(JSESSIONID),而不是数据库的连接。我想要做的就是使用数据库来处理用户会话,以便当群集中的一台服务器关闭时,转换到另一台服务器对用户来说是无缝的。现在,当服务器发生错误时,用户将被注销。

回答

1

既然你说JDBC,我假设你的意思是Java?你的问题似乎有些含糊不清,所以我不确定这是你在找什么,但根据我的理解,我会给它一个镜头。无论如何,我使用连接池(Apache commons dbcp)和Spring,这使得它非常容易。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
    <property name="url" value="jdbc:mysql://localhost/databasename"/> 
    <property name="username" value="root"/> 
    <property name="password" value="password"/> 

然后在代码中,我使用Spring的JdbcTemplate,并在此设置,与数据库的连接汇集和重用。数据源作为Spring bean进行管理,然后依赖注入到使用的位置。 Spring为你处理了jdbc会话的共享,瞧!这里是我该怎么办依赖注入注释:即使你不使用Spring MVC的或其他任何

private JdbcTemplate jdbcTemplate; 

@Autowired 
public void setDataSource(DataSource dataSource) { 
    this.jdbcTemplate = new JdbcTemplate(dataSource); 
} 

,春节JDBC工具是非常好的。

+2

好像你从我的问题中得到了错误的想法。尽管为不同的问题提供全面的答案);) – Andy 2011-03-02 12:12:01