0

ここに記載されているように、私は spring-session + redis を使用しています: http://docs.spring.io/spring-session/docs/current/reference/html5/guides/httpsession-xml.html

RedisHttpSessionConfigure を構成して、ローカル開発で redis が不要になり、アプリケーションが単純にコンテナー セッション処理をデフォルトにするようにするにはどうすればよいですか?

4

1 に答える 1

1

開発環境が本番環境と異なるため、通常、これはお勧めできません。開発マシンを Redis インスタンスにポイントするのは非常に簡単です。

サポートする必要がある場合は、Spring プロファイルを使用できます。たとえば、XML では次のようなものを使用できます。

<beans profile="dev">
    <bean id="springSessionRepositoryFilter" class="org.springframework.web.filter.CharacterEncodingFilter"/>
</beans>

<beans profile="production">
    <context:annotation-config/>
    <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
    <bean class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"/>
</beans>

重要なのは、開発環境にも という名前の Filter を実装する Bean があることを確認することspringSessionRepositoryFilterです。この例ではCharacterEncodingFilter、エンコーディング プロパティが設定されていないため、何もしないはずの which を使用しましたが、好きなものに自由に置き換えてください。

次に行う必要があるのは、環境をアクティブ化することです。たとえば、次のように使用できます。

-Dspring.profiles.active="production"
于 2015-08-10T15:57:16.427 に答える