2016-06-02 34 views
0

私はSpring Sessionで新しく、組み込みデータベースを使用してセッション情報を保存したいと考えています。私は 次のエラーが表示されrepeatly 3.2.4の春のWebを使用して1.2.0.butバージョンの春セッション-JDBCを使用して http://docs.spring.io/spring-session/docs/current/reference/html5/guides/httpsession-jdbc.html内のすべての手順に従います。JDBC統合によるSpringセッション

Caused by: org.postgresql.util.PSQLException: ERROR: relation "spring_session" does not exist 'Position: 13 
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198) 
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927) 
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365) 
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105) 
    at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:824) 
    at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:818) 
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) 
    ... 21 more' 

この問題はすでに私を幽霊数日間。助けてください。ここで

<bean class="org.springframework.session.jdbc.config.annotation.web.http.JdbcHttpSessi‌​onConfiguration"/> 
<jdbc:embedded-database id="dataSource02" type="H2"> 
    <jdbc:script location="classpath:org/springframework/session/jdbc/schema-h2.sql"/> 
</jdbc:embedded-database> 
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <constructor-arg ref="dataSource02"/> 
</bean> 
+0

あなたはConfigクラスを追加できますか? –

+0

これは決してコメントではなく、あなたの質問の編集(私はあなたのためにそれをしました) –

+0

ありがとう、はい私はコメントにconfを入れてはいけません。 – user6094158

答えて

4

あなたの問題はあなたが保管し、二次、埋め込まれたデータソースを構成している間に提供スタックトレースは、PostgreSQL JDBCドライバクラスが含まれているので、あなたが、複数のデータソースを使用することに起因するXML構成ですセッション。

Springセッション設定では、プライマリデータソース(PostgreSQL)を取得し、そこにセッションテーブルを見つけることを想定しています。

私はセッションデータを保存するために、あなたのプライマリデータソースを使用するためにあなたをお勧めしたい、しかし、あなたがその目的のために、二次/埋め込まれたデータソースを持つ上で主張すれば、あなたが作成され、独自のインスタンスにJdbcHttpSessionConfiguration#sessionRepositoryが提供するJdbcOperationsSessionRepository Beanをオーバーライドする必要がありますセカンダリデータソースと適切なトラクション管理マネージャを使用します。 beanは、JdbcHttpSessionConfigurationから1つを上書きするために、sessionRepositoryという名前にする必要があることに注意してください。

関連する問題