2016-06-29 16 views
0

私がSpring起動1.3.5用のSpringセッション開始を使用し、Springセッションのバージョンを1.2に設定すると、競合が発生します。それは互換性がないと私はブート1.4を待たなければならないと思う。 OK ...SpringセッションJDBC 1.2.0(Spring起動時)1.3.5

実行するには、スターターを使わずにSpringセッション1.2に依存関係を追加し、AbstractHttpSessionApplicationInitializerを拡張するクラスを追加しました。 これは、外部のTomcatで実行すると動作しますが、起動時に1.3.5の埋め込みTomcatで実行した場合は動作しません。

SB 1.3.5でSS 1.20を使用できますか?

ここで前方

ワンステップ

Authentication auth = SecurityContextHolder.getContext().getAuthentication(); 
    if(auth == null || !(auth.getPrincipal() instanceof UserDetailsImpl)) 
     return null; 
    ... 

は常にnullでいただきありがとうございますが(auth.getPrincipalが返される)UserDetailsImplのインスタンスです。 クラスローダーの問題と思われます。 しかし、なぜそれは外部の風袋で動作しますか?その他のクラスローディング戦略は?

+0

SpringBootはSpringセッション用の初心者モジュールを提供していないので、_springセッションstarter_が何を意味するのかを明確にしてください。 –

+0

申し訳ありませんが、ここに記載されているように、スターターjdbcでした:http://docs.spring.io/spring-session/docs/1.2.0.RELEASE/reference/html5/guides/httpsession-jdbc-boot.html – Ickbinet

答えて

0

簡潔に言うと、Springのセッション1.2.xをSpring Boot 1.3.xで問題なく使用できます。

Spring Sessionプロジェクトには、ユーザーがSpring Sessionを使い始めるのに役立つmany samplesが含まれています(これらのサンプルのドキュメントはhereです)。これらのサンプルの中には、ユースケースのようなものもあります - Boot JDBC sample

サンプルおよびdocsに示すように、SpringセッションJDBCサポートをブートストラップするには、@EnableJdbcHttpSession注釈を使用する必要があります。万が一あなたのアプリがRedisも使用している場合は、Spring Boot 1.3で提供されているSessionAutoConfigurationを除外する必要があります。これは依存関係の組み合わせが、RedisでサポートされているSpring Sessionの自動設定を引き起こすためです。 JDBCでバックアップされたセッションストアを使用するようにします。

+0

Iこのドキュメントの使用:http://docs.spring.io/spring-session/docs/1.2.0.RELEASE/reference/html5/guides/httpsession-jdbc-boot.htmlこれらの依存関係を追加すると、@EnableJdbcHttpSessionの注釈が欠落します。これは、session-jdbc jarファイル全体が存在しないためです。私がspring-session 1.2の依存関係全体を追加すると、session-jdbcだけでなく、すべてがそこにありますが、埋め込みTomcatではなく動作します。 https://github.com/spring-projects/spring-session/tree/1.2.0.RELEASE/samples/httpsession-jdbc-bootの例では、春のセッションに依存することはありませんが、わかりません。どのようにgradleが動作するのですか? – Ickbinet

+0

私の理解は:依存関係をsession-jdbcに追加し、@EnableJdbcHttpSessionを追加してください。 – Ickbinet

+0

Githubを使用して問題を再現して共有するサンプルをまとめてください。また、artifact idは 'session-jdbc'ではなく' spring-session-jdbc'であることに注意してください。 –

関連する問題