2016-06-02 3 views
0

저는 Spring Session에서 새로운 기능으로 세션 정보를 저장하기 위해 내장 데이터베이스를 사용하려고합니다. 나는 repeatly 표시됩니다 3.2.4에만 다음과 같은 오류의 봄 - 웹을 사용 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

구성 클래스를 추가 할 수 있습니까 ?? –

+0

이것은 결코 논평이 될 수 없지만 귀하의 질문에 대한 편집 (나는 당신을 위해 해 냈습니다.) –

+0

고마워, 그래, 나는 코멘트에 conf를 넣으면 안된다. – user6094158

답변

4

귀하의 문제는 당신이 저장하는 보조, 포함 된 데이터 원본을 구성하는 동안 제공되는 스택 트레이스는 PostgreSQL의 JDBC 드라이버 클래스가 포함되어 있기 때문에 당신이 여러 데이터 소스를 사용한다는 사실에서 유래 XML 구성입니다 세션.

봄 세션 구성은 기본 데이터 소스 (PostgreSQL)를 선택하고 거기에 세션 테이블을 찾을 것으로 예상됩니다.

기본 데이터 소스를 사용하여 세션 데이터를 저장하는 것이 좋지만이 목적으로 보조/내장 데이터 소스가 있으면 JdbcHttpSessionConfiguration#sessionRepository 빈이 제공되는 JdbcOperationsSessionRepository bean을 재정의해야합니다 2 차 데이터 소스와 해당 트래킹 매니저를 사용합니다. bean은 JdbcHttpSessionConfiguration에서 하나를 대체하기 위해 sessionRepository으로 명명되어야합니다.