Frage

Sie sagen, dass eine geschlossene Sitzung in Hibernate und Webapp mit Ajax ist ein häufiges Problem mit Java und Feder so muss ich die OpenSessionInViewInFilter in der web.xml wie folgt festgelegt

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>    
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/applicationContext.xml
    </param-value>
</context-param>
<filter>
    <filter-name>springFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>springFilter</filter-name>
    <url-pattern>/dwr/*</url-pattern>
</filter-mapping>

Aber auch mit, dass ich die „Session ist geschlossen“ Hibernate Ausnahme, wenn ich versuche, Hibernate Criteria api zu verwenden, so habe ich versucht, eine andere Feder Art und Weise mit OpenSessioninViewInterceptor

<bean id="urlMapping"
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="alwaysUseFullPath" value="false"/>
     <property name="mappings">
            <props>
                <prop key="*">dwrController</prop>
            </props>
    </property>
    <property name="interceptors">

           

und der Interceptor

<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">

               

Same "Session geschlossen" -Problem. Bitte helfen Sie mir hier. Ich bin neu in Java so Ihre Hilfe wird sehr geschätzt.

Ich bin derzeit innerhalb Maven Jetty Plugin, Version 6.1.10.

War es hilfreich?

Lösung

Stellen Sie sicher, dass Sie die Daten nicht über verschiedene Threads übergeben. Dies ist besonders einfach, wenn Sie verzögertes Laden (überprüfen Sie Ihre Hibernate Mapping-Standardeinstellung) verwenden.

Sagen Sie, wenn ein Unternehmen Y faul geladen ist und von Einheit X (via Hibernate) verwiesen und Sie passieren X von einem Thread zum anderen und in diesem anderen Thread Sie tun x.getY (), sind Sie in Schwierigkeiten.

Andere Tipps

es gefunden. Ich brauche @Transactional in meiner Dienstklasse zu erklären.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top