Среда разработки
java + Wicket + hibernate + spring
Описание
веб-сеанс недоступен в методе @Async при его вызове из пользовательского интерфейса.
У меня есть кнопка на странице, когда пользователь нажимает кнопку, она вызывает метод importContactInBackground.
Конфигурация Spring xml
<task:annotation-driven executor="commonTaskExecutor"/>
<task:executor id="commonTaskExecutor" pool-size="5-10" queue-capacity="20"/>
@ Асинхронный метод в классе бина
@Async
public void importContactInBackground(File file)
{
importService.import(file);
CustomSession customSession = (CustomSession)Session.get();//throws exception
LOGGER.info("Contacts are imported by {}", customSession.getUsername());
}
Исключение
org.apache.wicket.WicketRuntimeException: There is no application attached to current thread commonTaskExecutor-2
at org.apache.wicket.Application.get(Application.java:235)
at org.apache.wicket.Session.get(Session.java:175)