2016-05-09 4 views
0

Я пытаюсь интегрировать Spring Session 1.2.0 в существующий проект Spring MVC с уже настроенной Spring Security.Конфигурация безопасности Spring Session и несколько исключений классов contextLoaderListener

Я сделал конфигурацию в соответствии с этим:

http://docs.spring.io/spring-session/docs/1.2.0.BUILD-SNAPSHOT/reference/html5/guides/security.html

http://docs.spring.io/spring-session/docs/1.2.0.BUILD-SNAPSHOT/reference/html5/guides/httpsession-jdbc.html

Однако, я не могу развернуть приложение на котом, так как я получаю исключение:

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml! at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:277) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1879) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

Существует связанный с этим вопрос Why this Spring application with java-based configuration don't work properly

Как настроить сеанс Spring без создания нового экземпляра ContextLoaderListener?

+0

В существующем приложении, как вы загружаете конфигурацию Spring Security? –

+0

У меня была существующая конфигурация Spring Security и две из них создали указанную проблему. Так вот, это была моя собственная ошибка, потому что не понимала этого в первую очередь. – Nordkraft

ответ

0

У меня уже была конфигурация Spring Security. Чтобы решить мою проблему, я поместил аннотацию @EnableJdbcHttpSession в существующую конфигурацию и удостоверился, что настроен источник данных и менеджер трансляции.

Смежные вопросы