Java .parallelStream () com métodos anotados por mola

Eu tento usar oparallelStream() no DAO com Spring@Transactional anotações e fique com esse problema:

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

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

Funciona corretamente:

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

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

Exceçã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)

Como posso usar@Transactional métodos anotados porparallelStream()?

Atualizar Por que isso aconteceGerenciador de transações Spring e multithreading Mas espero que a primavera 4, com suporte a java 8, possa fornecer alguma solução para isso. Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion