java - Spring Hibernate Lazy loading - no session -


i have lazy loading problem @ service call or @ least thought have lazy loading problem... seems be, have session problem => session not available during hole service call.

this service-source:

@service public class myserviceimpl implements myservice{    @autowired   private myrepository myrepository;    @override   @transactional   public mydto find(string pk){     myobject o = myrepository.findbypk(pk);     o.lazycall();//exception, @ server call, tests runs without problems   } } 

my test-class annotated with:

@test @contextconfiguration (locations = { "classpath:spring-test-config.xml" }) @transactionconfiguration (transactionmanager="transactionmanager", defaultrollback=true) @transactional public class myservicetest     extends abstracttransactionaltestngspringcontexttests{ 

, test runs fine.

but if deploy stuff jetty server, receive exception:

org.hibernate.lazyinitializationexception: failed lazily initialize collection of role: com.test.product.domain.productbase.productcomponent, not initialize proxy - no session  	at org.hibernate.collection.internal.abstractpersistentcollection.throwlazyinitializationexception(abstractpersistentcollection.java:575) ~[hibernate-core-4.3.9.final.jar:4.3.9.final]  	at org.hibernate.collection.internal.abstractpersistentcollection.withtemporarysessionifneeded(abstractpersistentcollection.java:214) ~[hibernate-core-4.3.9.final.jar:4.3.9.final]  	at org.hibernate.collection.internal.abstractpersistentcollection.initialize(abstractpersistentcollection.java:554) ~[hibernate-core-4.3.9.final.jar:4.3.9.final]  	at org.hibernate.collection.internal.abstractpersistentcollection.read(abstractpersistentcollection.java:142) ~[hibernate-core-4.3.9.final.jar:4.3.9.final]  	at org.hibernate.collection.internal.persistentbag.iterator(persistentbag.java:294) ~[hibernate-core-4.3.9.final.jar:4.3.9.final]  	at java.util.collections$unmodifiablecollection$1.<init>(collections.java:1039) ~[na:1.8.0_25]  	at java.util.collections$unmodifiablecollection.iterator(collections.java:1038) ~[na:1.8.0_25]  	at com.test.service.myserviceimpl.find(myserviceimpl.java:104) ~[my.service-0.0.1-snapshot.jar:na]  	at com.test.webservice.myservicecontroller.create(myservicecontroller.java:44) ~[classes/:na]  	at sun.reflect.nativemethodaccessorimpl.invoke0(native method) ~[na:1.8.0_25]  	at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) ~[na:1.8.0_25]  	at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) ~[na:1.8.0_25]  	at java.lang.reflect.method.invoke(method.java:483) ~[na:1.8.0_25]  	at org.springframework.web.method.support.invocablehandlermethod.doinvoke(invocablehandlermethod.java:221) ~[spring-web-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.method.support.invocablehandlermethod.invokeforrequest(invocablehandlermethod.java:137) ~[spring-web-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.mvc.method.annotation.servletinvocablehandlermethod.invokeandhandle(servletinvocablehandlermethod.java:110) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.invokehandlemethod(requestmappinghandleradapter.java:776) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.handleinternal(requestmappinghandleradapter.java:705) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter.java:85) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:959) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:893) ~[spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:966) [spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:868) [spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at javax.servlet.http.httpservlet.service(httpservlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0]  	at org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:842) [spring-webmvc-4.1.6.release.jar:4.1.6.release]  	at javax.servlet.http.httpservlet.service(httpservlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]  	at org.eclipse.jetty.servlet.servletholder.handle(servletholder.java:816) [jetty-servlet-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1684) [jetty-servlet-9.3.0.rc1.jar:9.3.0.rc1]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:316) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:126) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:90) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:114) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.session.sessionmanagementfilter.dofilter(sessionmanagementfilter.java:122) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:111) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.servletapi.securitycontextholderawarerequestfilter.dofilter(securitycontextholderawarerequestfilter.java:168) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.savedrequest.requestcacheawarefilter.dofilter(requestcacheawarefilter.java:48) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.authentication.ui.defaultloginpagegeneratingfilter.dofilter(defaultloginpagegeneratingfilter.java:162) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.authentication.abstractauthenticationprocessingfilter.dofilter(abstractauthenticationprocessingfilter.java:205) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:120) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.header.headerwriterfilter.dofilterinternal(headerwriterfilter.java:64) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) [spring-web-4.1.6.release.jar:4.1.6.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.context.request.async.webasyncmanagerintegrationfilter.dofilterinternal(webasyncmanagerintegrationfilter.java:53) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) [spring-web-4.1.6.release.jar:4.1.6.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:91) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:330) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy.dofilterinternal(filterchainproxy.java:213) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:176) [spring-security-web-4.0.1.release.jar:4.0.1.release]  	at org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:344) [spring-web-4.1.6.release.jar:4.1.6.release]  	at org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:261) [spring-web-4.1.6.release.jar:4.1.6.release]  	at org.eclipse.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1667) [jetty-servlet-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.servlet.servlethandler.dohandle(servlethandler.java:581) [jetty-servlet-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:143) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.security.securityhandler.handle(securityhandler.java:548) [jetty-security-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.session.sessionhandler.dohandle(sessionhandler.java:226) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.contexthandler.dohandle(contexthandler.java:1121) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.servlet.servlethandler.doscope(servlethandler.java:511) [jetty-servlet-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.session.sessionhandler.doscope(sessionhandler.java:185) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.contexthandler.doscope(contexthandler.java:1055) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:141) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.contexthandlercollection.handle(contexthandlercollection.java:213) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.handlercollection.handle(handlercollection.java:109) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.handler.handlerwrapper.handle(handlerwrapper.java:118) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.server.handle(server.java:515) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.httpchannel.handle(httpchannel.java:291) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.server.httpconnection.onfillable(httpconnection.java:242) [jetty-server-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.io.abstractconnection$readcallback.succeeded(abstractconnection.java:238) [jetty-io-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.io.fillinterest.fillable(fillinterest.java:95) [jetty-io-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.io.selectchannelendpoint$2.run(selectchannelendpoint.java:57) [jetty-io-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.util.thread.strategy.executeproduceconsume.produceandrun(executeproduceconsume.java:191) [jetty-util-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.util.thread.strategy.executeproduceconsume.run(executeproduceconsume.java:126) [jetty-util-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.util.thread.queuedthreadpool.runjob(queuedthreadpool.java:654) [jetty-util-9.3.0.rc1.jar:9.3.0.rc1]  	at org.eclipse.jetty.util.thread.queuedthreadpool$3.run(queuedthreadpool.java:572) [jetty-util-9.3.0.rc1.jar:9.3.0.rc1]  	at java.lang.thread.run(thread.java:745) [na:1.8.0_25]  2015-07-15 00:00:28,383 | debug | qtp1971855969-26 | o.s.s.w.c.sec

and server datasource / tx configuration looks this:

<bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource">         <property name="driverclassname" value="${db.driver}" />         <property name="url" value="${db.url}" />         <property name="username" value="${db.username}" />         <property name="password" value="${db.password}" />     </bean>      <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localcontainerentitymanagerfactorybean">          <property name="datasource" ref="datasource" />          <property name="packagestoscan" >             <list>                 <value>com.test</value>             </list>         </property>          <property name="jpavendoradapter">             <bean class="org.springframework.orm.jpa.vendor.hibernatejpavendoradapter">                 <property name="showsql" value="true" />                 <property name="generateddl" value="true" />             </bean>         </property>      </bean>      <!-- transaction manager configuration -->     <tx:annotation-driven transaction-manager="transactionmanager"/>      <bean id="transactionmanager" class="org.springframework.orm.jpa.jpatransactionmanager" >         <property name="entitymanagerfactory" ref="entitymanagerfactory" />     </bean> 

so what's difference? why behavior between test , server different? why don't have database session in servicemethod, when load database have session? read opensessioninviewfilter seems solution front end app => want implement rest-server, called frontend.

any ideas? please help.

kr

--- update --- complete config files:

root-context.xml:

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:jpa="http://www.springframework.org/schema/data/jpa"     xmlns:context="http://www.springframework.org/schema/context"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:jms="http://www.springframework.org/schema/jms"     xmlns:amq="http://activemq.apache.org/schema/core"     xmlns:util="http://www.springframework.org/schema/util"     xsi:schemalocation="         http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-3.2.xsd         http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-3.2.xsd         http://www.springframework.org/schema/data/jpa         http://www.springframework.org/schema/data/jpa/spring-jpa.xsd         http://www.springframework.org/schema/util         http://www.springframework.org/schema/util/spring-util-3.0.xsd         http://www.springframework.org/schema/jms          http://www.springframework.org/schema/jms/spring-jms.xsd         http://activemq.apache.org/schema/core          http://activemq.apache.org/schema/core/activemq-core.xsd         http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx.xsd"     default-autowire="byname">      <!-- root context: defines shared resources visible other web components -->      <!-- components package can wired spring -->      <context:component-scan base-package="com.test.product.*" />     <context:component-scan base-package="com.test.person.*" />      <!-- directory scan repository classes -->     <jpa:repositories base-package="com.test.*.domain.repository" />      <!-- jdbc.properties => used put db-connection data own property-file -->     <bean id="domainpropertyconfigurer"         class="org.springframework.beans.factory.config.propertyplaceholderconfigurer">         <property name="systempropertiesmodename" value="system_properties_mode_override" />         <property name="locations">             <list>                 <value>/web-inf/jdbc.properties</value>             </list>         </property>     </bean>     <!--  datasource configuration - database use, jdbc.properties set data -->     <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource">         <property name="driverclassname" value="${db.driver}" />         <property name="url" value="${db.url}" />         <property name="username" value="${db.username}" />         <property name="password" value="${db.password}" />     </bean>      <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localcontainerentitymanagerfactorybean">          <property name="datasource" ref="datasource" />          <property name="packagestoscan" >             <list>                 <value>com.test.product.domain</value>                 <value>com.test.person.domain</value>             </list>         </property>          <property name="jpavendoradapter">             <bean class="org.springframework.orm.jpa.vendor.hibernatejpavendoradapter">                 <property name="showsql" value="true" />                 <property name="generateddl" value="true" />             </bean>         </property>      </bean>      <!-- transaction manager configuration -->     <tx:annotation-driven transaction-manager="transactionmanager"/>      <bean id="transactionmanager" class="org.springframework.orm.jpa.jpatransactionmanager" >         <property name="entitymanagerfactory" ref="entitymanagerfactory" />     </bean>      <!-- couch db configuration -->      <!-- production , configuration or if want test real couch db (for example @ continues integration) -->      <util:properties id="couchdbproperties" location="/web-inf/couchdb.properties"/>      <bean id="documentarchivedatabase" class="org.ektorp.impl.stdcouchdbconnector">         <constructor-arg value="documentarchive" />         <constructor-arg>             <bean id="couchdbinstance" class="org.ektorp.impl.stdcouchdbinstance">                 <constructor-arg>                     <bean class="org.ektorp.spring.httpclientfactorybean" />                 </constructor-arg>             </bean>         </constructor-arg>     </bean>      <!-- start jms config -->      <jms:annotation-driven/>      <!-- possible productive configuration -->       <amq:broker id="broker" usejmx="false" persistent="false" >         <amq:transportconnectors>             <amq:transportconnector uri="tcp://localhost:61616"/>         </amq:transportconnectors>     </amq:broker>      <bean id="connectionfactory" class="org.apache.activemq.activemqconnectionfactory">          <property name="brokerurl" value="tcp://localhost:61616"/>     </bean>       <bean id="cachingconnectionfactory" class="org.springframework.jms.connection.cachingconnectionfactory">         <property name="targetconnectionfactory" ref="connectionfactory"/>     </bean>       <bean id="jmstemplate" class="org.springframework.jms.core.jmstemplate">         <property name="connectionfactory" ref="cachingconnectionfactory"/>     </bean>      <bean id = "destinationresolver" class = "org.springframework.jms.support.destination.dynamicdestinationresolver"></bean>      <bean id="jmslistenercontainerfactory" class="org.springframework.jms.config.defaultjmslistenercontainerfactory">         <property name="connectionfactory" ref="connectionfactory"/>         <property name="destinationresolver" ref="destinationresolver"/>         <property name="concurrency" value="1-10"/>     </bean>      <!-- end jms config -->   </beans> 

spring-security.xml:

<?xml version="1.0" encoding="utf-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:beans="http://www.springframework.org/schema/beans"     xmlns:sec="http://www.springframework.org/schema/security"     xsi:schemalocation="       http://www.springframework.org/schema/security       http://www.springframework.org/schema/security/spring-security-4.0.xsd       http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">      <http entry-point-ref="restauthenticationentrypoint">         <intercept-url pattern="/rest/**" access="hasrole('role_user')" />          <form-login authentication-success-handler-ref="mysuccesshandler"             authentication-failure-handler-ref="myfailurehandler" />         <logout />         <csrf disabled="true"/>     </http>      <beans:bean id="restauthenticationentrypoint" class="com.test.webservice.security.restauthenticationentrypoint" />      <beans:bean id="mysuccesshandler"         class="com.test.webservice.security.restauthenticationsuccesshandler" />     <beans:bean id="myfailurehandler"         class="org.springframework.security.web.authentication.simpleurlauthenticationfailurehandler" />      <authentication-manager alias="authenticationmanager">         <authentication-provider>             <user-service>                 <user name="temporary" password="temporary" authorities="role_admin" />                 <user name="user" password="user" authorities="role_user" />             </user-service>         </authentication-provider>     </authentication-manager>  </beans:beans> 

servlet-context.xml

<?xml version="1.0" encoding="utf-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xmlns:beans="http://www.springframework.org/schema/beans"     xmlns:context="http://www.springframework.org/schema/context"     xsi:schemalocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">      <!-- dispatcherservlet context: defines servlet's request-processing infrastructure -->       <!-- configure plugin json request , response in method handler -->     <annotation-driven>         <message-converters>              <beans:bean class="org.springframework.http.converter.stringhttpmessageconverter">              </beans:bean>              <beans:bean class="org.springframework.http.converter.json.mappingjackson2httpmessageconverter">                 <beans:property name="objectmapper">                     <beans:bean class="com.test.webservice.myobjectmapper" />                 </beans:property>             </beans:bean>         </message-converters>     </annotation-driven>      <!-- components package can wired spring -->      <context:component-scan base-package="com.test.product.*" />     <context:component-scan base-package="com.test.person.*" />   </beans:beans> 

web.xml

<?xml version="1.0" encoding="iso-8859-1"?> <web-app     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"    xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"     version="2.5">      <!-- definition of root spring container shared servlets , filters -->     <context-param>         <param-name>contextconfiglocation</param-name>         <param-value>/web-inf/spring/root-context.xml, /web-inf/spring/spring-security.xml</param-value>     </context-param>      <!-- creates spring container shared servlets , filters -->     <listener>         <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>     </listener>      <!-- processes application requests -->     <servlet>         <servlet-name>appservlet</servlet-name>         <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>         <init-param>             <param-name>contextconfiglocation</param-name>             <param-value>/web-inf/spring/appservlet/servlet-context.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>      <servlet-mapping>         <servlet-name>appservlet</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping>     <!-- security stuff -->     <filter>         <filter-name>springsecurityfilterchain</filter-name>         <filter-class>org.springframework.web.filter.delegatingfilterproxy</filter-class>     </filter>     <filter-mapping>         <filter-name>springsecurityfilterchain</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping>  </web-app> 

jdbc.properties

db.driver=org.h2.driver db.url=jdbc:h2:mem:test;db_close_delay=-1 db.username=sa db.password=  db.memurl=jdbc:h2:mem:test 

your stacktrace suspious, way small enterprise application ;) seriously, don't see transaction interceptor in stack trace. using correct @transactional annotation? using component-scan beans? (afaik packagestoscan used searching entities, not spring beans) problem in spring @transactional not working.


Comments