Java .parallelStream () с пружинными аннотированными методами

Я пытаюсь использоватьparallelStream() в ДАО с весны@Transactional аннотации и получаю такую ​​проблему:

@Transactional
public void processCollection(Collection<Object> objects) {
    objects.parallelStream()
            .forEach(this::processOne);  //throw exception
}

@Transactional
public void processOne(Object o) {
    ...
}

Работает правильно:

@Transactional
public void processCollection(Collection<Object> objects) {
    objects.stream()
            .forEach(this::processOne);  //work correctly
}

@Transactional
public void processOne(Object o) {
    ...
}

Исключение:

org.hibernate.HibernateException: No Session found for current thread
org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:106)
org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:978)

Как я могу использовать@Transactional аннотированные методы поparallelStream()?

Обновить Почему это случилосьSpring менеджер транзакций и многопоточность Но я надеюсь, что Spring 4 с поддержкой Java 8 может помочь в этом. Есть идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос