7

mod_jk を実行する共通の Web サーバーを共有する Tomcat サーバーのクラスターがあります。現在、スティッキー セッションを使用してセッション処理を処理していますが、JDBC セッション共有に移行したいと考えています。これに対処するための適切なリソースまたは段階的な解決策を誰かが持っていますか?

この質問がstackoverflow、serverfault、またはDBAを対象としているかどうかはわかりませんでしたが、ここにあります. :)

編集:

私の質問の内容は紛らわしいに違いないと思います。私が参照しているセッションは、データベースへの接続ではなく、ユーザー セッション (JSESSIONID) です。私がやりたいことは、データベースを使用してユーザー セッションを処理し、クラスター内の 1 つのサーバーがダウンしたときに、ユーザーが別のサーバーにシームレスに移行できるようにすることです。現在、サーバーでエラーが発生すると、ユーザーはログアウトされます。

4

2 に答える 2

5

このほとんどは、Tomcat のドキュメントで入手できます。Persistent Manager の実装を参照してください。

これも見ることができます。

于 2011-03-03T09:56:27.903 に答える
0

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を使用します。この設定では、データベースへの接続がプールされ、再利用されます。データソースはSpringBeanとして管理され、使用される場所に依存性注入されます。Springがjdbcセッションの共有を処理しました。アノテーションを使用して依存性注入を行う方法は次のとおりです。

private JdbcTemplate jdbcTemplate;

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

Spring for MVCなどを使用していない場合でも、SpringJDBCツールは非常に優れています。

于 2011-03-01T17:46:28.040 に答える