Manchmal Exception "EntityManager is closed"

Hallo alle zusammen,

ich habe ein kleines Projekt, mit dem ich Bilder die in einer Datenbank gespeichert sind abfragen kann. Abgefragt werden diese durch ein Servlet.
Da ich auf Hibernate zurückgreife habe ich einen EnitityManager, mit dem ich Querys absetzten kann.

Folgenden Code habe ich implementiert:

Globale Variable:
Code:
    @PersistenceContext(unitName = "MyPU")
    private EntityManager em;

Code des doGet:
Code:
        List<byte[]> queryanswer = em.createQuery("SELECT i.image FROM Images i WHERE i.imageid= " + request.getParameter("id")).getResultList();

        if (queryanswer != null && queryanswer.size() > 0) {
            byte[] back = queryanswer.get(0);
            if (back != null) {
                response.getOutputStream().write(queryanswer.get(0));
            }
        }

Das ganze funktioniert auch prima, allerdings bekomme ich manchmal die Exception geworfen, dass der Entity Manager bereits beschlossen sei:
Code:
java.lang.IllegalStateException: EntityManager is closed
        at org.hibernate.ejb.EntityManagerImpl.close(EntityManagerImpl.java:97)
        at com.sun.enterprise.container.common.impl.QueryWrapper.clearDelegates(QueryWrapper.java:779)
        at com.sun.enterprise.container.common.impl.QueryWrapper.getResultList(QueryWrapper.java:193)
...

Woran kann das ganze liegen? Ich habe auch schon eine "Warteschleife eingebaut, mit dem ich extra warte, falls die Verbindung nicht offen sein sollte.

Würde mich über ein paar Tipps sehr freuen.

Gruß
meinereiner
 

Neue Beiträge

Zurück