Hi Hielke, Thank you for the helpful reply. :) But I think I already have those in my applicationConext.xml...:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd " default-autowire="byType" default-lazy-init="false" > <bean id="wicketApplication" class="uk.co.company.product.presentation.wicket.app.WicketApplication" /> <bean id="placeholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" autowire="byName"> <property name="ignoreUnresolvablePlaceholders" value="false" /> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="ignoreResourceNotFound" value="false" /> <property name="locations"><list> <value>classpath*:/application.properties</value> </list></property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" autowire="byName"> <property name="driverClassName"><value>${jdbc.driver}</value></property> <property name="url"><value>${jdbc.url}</value></property> <property name="username"><value>${jdbc.username}</value></property> <property name="password"><value>${jdbc.password}</value></property> </bean> <tx:annotation-driven transaction-manager="txManager" /> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" autowire="byName"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!--<bean id="interceptor" class="com.mycompany.hibernate.HibernateInterceptor"> </bean>--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" autowire="byName"> <property name="dataSource" ref="dataSource" /> <property name="hibernateProperties"> <props> <!-- GENERAL --> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.show_sql">hibernate.format_sql</prop> <prop key="hibernate.default_schema">zen_template</prop> <prop key="hibernate.max_fetch_depth">2</prop> <!-- <prop key="hibernate.default_batch_fetch_size">16</prop> --> <prop key="hibernate.default_entity_mode">pojo</prop> <prop key="hibernate.order_updates">true</prop> <prop key="hibernate.generate_statistics">true</prop> <prop key="hibernate.use_identifier_rollback">true</prop> <prop key="hibernate.current_session_context_class">thread</prop> <prop key="hibernate.use_outer_join">true</prop> <!-- JDBC --> <!-- <prop key="hibernate.jdbc.batch_size">20</prop> --> <!-- <prop key="hibernate.jdbc.batch_versioned_data">true</prop> --> <prop key="hibernate.jdbc.use_streams_for_binary">true</prop> <prop key="hibernate.jdbc.use_get_generated_keys">true</prop> <!-- CONNECTION --> <prop key="hibernate.connection.isolation">8</prop><!-- TRANSACTION_SERIALIZABLE --> <prop key="hibernate.connection.autocommit">false</prop> <prop key="hibernate.connection.pool_size">5</prop> <!-- CACHE --> <!-- <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> --> <!-- <prop key="hibernate.cache.use_minimal_puts">true</prop> --> <!-- <prop key="hibernate.cache.use_query_cache">true</prop> --> <!-- MISCELLANEOUS --> <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop> <prop key="hibernate.cglib.use_reflection_optimizer">true</prop> <!-- <prop key="hibernate.bytecode.provider">cglib</prop> --> <!-- <prop key="hibernate.query.substitutions">true</prop> --> </props> </property> <!--<property name="entityInterceptor"> <ref bean="interceptor" /> </property>--> <property name="packagesToScan"><list> <value>uk.co.company.product.persistance.hibernate</value> </list></property> </bean> <context:component-scan base-package="uk.co.company.product" /> <context:annotation-config/> </beans> On 15 December 2010 16:17, Hielke Hoeve [via Apache Wicket] < ml-node+3089324-1169388531-201...@n4.nabble.com<ml-node%2b3089324-1169388531-201...@n4.nabble.com> > wrote: > Hey Adam, > > This is still a spring error, you need a sessionfactory and > transactionfactory and link them together. The opensessioninview filter > only > opens a transaction if you get this right. The spring forums are filled > with > examples. > > Hielke > On 15 Dec 2010 16:58, "adam.gibbons" <[hidden > email]<http://user/SendEmail.jtp?type=node&node=3089324&i=0>> > wrote: > > > > > > > Ok, I think this is now back to a Wicket question. Start up is ok now. > > However when I try and invoke UserServiceImpl.authenticate(){ > > final Temp1 temp1 = new Temp1(); > > temp1.setValue(userName); > > temp1DAO.save(temp1); > > return testUserService.authenticate(userName, password); > > } > > > > I get the following error through the GUI: > > > > Method onFormSubmitted of interface > > org.apache.wicket.markup.html.form.IFormSubmitListener targeted at > component > > [MarkupContainer [Component id = signInForm]] threw an exception > > > > Root cause: > > > > org.hibernate.HibernateException: persist is not valid without active > > transaction > > at > > > org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:297) > > > at $Proxy18.persist(Unknown Source) > > at > > > uk.co.company.product.persistance.hibernate.AbstractTemp1DAO.save(AbstractTemp1DAO.java:21) > > > at > > > uk.co.company.product.persistance.hibernate.Temp1DAOImpl.save(Temp1DAOImpl.java:1) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > > > at > > > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > > at > > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > > > at $Proxy9.save(Unknown Source) > > at > > > uk.co.company.product.business.spring.UserServiceImpl.authenticate(UserServiceImpl.java:42) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > > > at > > > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) > > > at > > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > > > at > > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > > > at $Proxy10.authenticate(Unknown Source) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:416) > > > at org.apache.wicket.proxy.$Proxy15.authenticate(Unknown Source) > > at > > > uk.co.company.product.presentation.wicket.app.CustomAuthenticatedWebSession.authenticate(CustomAuthenticatedWebSession.java:29) > > > > > I was under the impression that the OpenSessionInViewFilter was supposed > to > > > do this for us? > > > > > > Once again here is the source code: > > > > > > web.xml: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <web-app > > xmlns="http://java.sun.com/xml/ns/j2ee" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation=" > > http://java.sun.com/xml/ns/j2ee > > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd > > " > > version="2.4" > > > > > <display-name>ZenTemplate</display-name> > > <context-param> > > <param-name>contextConfigLocation</param-name> > > <param-value>classpath:applicationContext.xml</param-value> > > </context-param> > > <listener> > > > > > <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> > > > </listener> > > <filter> > > <filter-name>opensessioninview</filter-name> > > > > > <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> > > > </filter> > > <filter> > > <filter-name>wicket-spring-hibernate</filter-name> > > > > <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> > > > <init-param> > > <param-name>applicationFactoryClassName</param-name> > > > > > <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> > > > </init-param> > > <init-param> > > <param-name>applicationClassName</param-name> > > > > > <param-value>uk.co.company.product.presentation.wicket.app.WicketApplication</param-value> > > > > </init-param> > > </filter> > > <filter-mapping> > > <filter-name>opensessioninview</filter-name> > > <url-pattern>/*</url-pattern> > > </filter-mapping> > > <filter-mapping> > > <filter-name>wicket-spring-hibernate</filter-name> > > <url-pattern>/*</url-pattern> > > </filter-mapping> > > </web-app> > > > > > > > > applicationContext.xml: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <beans > > xmlns="http://www.springframework.org/schema/beans" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:aop="http://www.springframework.org/schema/aop" > > xmlns:tx="http://www.springframework.org/schema/tx" > > xmlns:context="http://www.springframework.org/schema/context" > > xsi:schemaLocation=" > > http://www.springframework.org/schema/beans > > http://www.springframework.org/schema/beans/spring-beans-2.5.xsd > > http://www.springframework.org/schema/aop > > http://www.springframework.org/schema/aop/spring-aop-2.5.xsd > > http://www.springframework.org/schema/tx > > http://www.springframework.org/schema/tx/spring-tx-2.5.xsd > > http://www.springframework.org/schema/context > > http://www.springframework.org/schema/context/spring-context-2.5.xsd > > " > > default-autowire="byType" > > default-lazy-init="false" > > > > > <bean id="wicketApplication" > > class="uk.co.company.product.presentation.wicket.app.WicketApplication" > /> > > > > <bean id="placeholderConfigurer" > > > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" > > > > autowire="byName"> > > <property name="ignoreUnresolvablePlaceholders" value="false" /> > > <property name="systemPropertiesModeName" > > value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> > > <property name="ignoreResourceNotFound" value="false" /> > > <property name="locations"><list> > > <value>classpath*:/application.properties</value> > > </list></property> > > </bean> > > > > <bean id="dataSource" > > class="org.springframework.jdbc.datasource.DriverManagerDataSource" > > autowire="byName"> > > <property > > name="driverClassName"><value>${jdbc.driver}</value></property> > > <property name="url"><value>${jdbc.url}</value></property> > > <property > name="username"><value>${jdbc.username}</value></property> > > <property > name="password"><value>${jdbc.password}</value></property> > > > </bean> > > > > <tx:annotation-driven transaction-manager="txManager" /> > > > > <bean id="txManager" > > class="org.springframework.orm.hibernate3.HibernateTransactionManager" > > autowire="byName"> > > <property name="sessionFactory" ref="sessionFactory" /> > > </bean> > > > > <!--<bean id="interceptor" > > class="com.mycompany.hibernate.HibernateInterceptor"> > > </bean>--> > > > > <bean id="sessionFactory" > > > class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" > > > > autowire="byName"> > > <property name="dataSource" ref="dataSource" /> > > <property name="hibernateProperties"> > > <props> > > <!-- GENERAL --> > > <prop key="hibernate.dialect">${hibernate.dialect}</prop> > > <prop key="hibernate.show_sql">true</prop> > > <prop key="hibernate.show_sql">hibernate.format_sql</prop> > > > <prop key="hibernate.default_schema">zen_template</prop> > > <prop key="hibernate.max_fetch_depth">2</prop> > > <!-- <prop > > key="hibernate.default_batch_fetch_size">16</prop> --> > > <prop key="hibernate.default_entity_mode">pojo</prop> > > <prop key="hibernate.order_updates">true</prop> > > <prop key="hibernate.generate_statistics">true</prop> > > <prop key="hibernate.use_identifier_rollback">true</prop> > > <prop > > key="hibernate.current_session_context_class">thread</prop> > > <prop key="hibernate.use_outer_join">true</prop> > > <!-- JDBC --> > > <!-- <prop key="hibernate.jdbc.batch_size">20</prop> --> > > <!-- <prop > > key="hibernate.jdbc.batch_versioned_data">true</prop> --> > > <prop > > key="hibernate.jdbc.use_streams_for_binary">true</prop> > > <prop > > key="hibernate.j > > > ------------------------------ > View message @ > http://apache-wicket.1842946.n4.nabble.com/help-me-please-Wicket-Spring-Hibernate-configuration-woes-tp3088768p3089324.html > > To start a new topic under Apache Wicket, email > ml-node+1842946-1499480286-201...@n4.nabble.com<ml-node%2b1842946-1499480286-201...@n4.nabble.com> > To unsubscribe from Apache Wicket, click > here<http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=1842946&code=YWRhbS5zLmdpYmJvbnNAZ21haWwuY29tfDE4NDI5NDZ8LTUzNzMyMDU4OQ==>. > > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/help-me-please-Wicket-Spring-Hibernate-configuration-woes-tp3088768p3089377.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org