Java .parallelStream () mit mit Spring-Annotationen versehenen Methoden

Ich versuche es mit derparallelStream() in DAO mit Frühling@Transactional Anmerkungen und so Problem bekommen:

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

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

Funktioniert richtig:

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

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

Ausnahme:

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)

Wie kann ich verwenden@Transactional Kommentierte Methoden vonparallelStream()?

Aktualisieren Warum passiert das?Frühlingstransaktionsmanager und Multithreading Aber ich hoffe, Spring 4 mit Java 8-Unterstützung kann eine Lösung dafür bieten. Irgendwelche Ideen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage