Lo que quiero es mostrar un formulario en una JSF, utilizando SPRING e HIBERNATE para los beans y para almacenar la información. Funciona bien, pero me da un error, y es al instanciar el bean del servicio por medio de spring. El error es el siguiente:
ERROR [CacheMarshaller300] Error while marshalling object: ReplicateCommand{....
java.io.NotSerializableException: org.springframework.beans.factory.support.DefaultL istableBeanFactory
ERROR [CommandAwareRpcDispatcher] java.io.NotSerializableException: org.springframework.beans.factory.support.DefaultL istableBeanFactory
Teniendo en el applicationContext lo siguiente:
Código:
Y donde los objentos implementan la interfaz serializable, asi como el propio servicio.<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" 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"> <bean id="dataSourceBS423A" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>PlataformaDatos</value> </property> </bean> <!-- INICIO Hibernate SessionFactory --> <bean id="sessionFactoryBS423A" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSourceBS423A" /> </property> <property name="mappingResources"> <list> <value> es/xuntagalicia/modelo/entidad/hb/PtTHijotfn.hbm.xml </value> <value> es/xuntagalicia/modelo/entidad/hb/PtTSolicitudtfn.hbm.xml </value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.connection.release_mode">auto</prop> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> <!-- <prop key="hibernate.hbm2ddl.auto">validate</prop> --> <prop key="hibernate.show_sql">false</prop> <prop key="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> <prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop> </props> </property> </bean> <bean id="transactionManagerBS423A" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactoryBS423A" /> </property> </bean> <bean id="hibernateTemplateBS423A" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactoryBS423A" /> </property> </bean> <!-- FIN Hibernate SessionFactory --> <!-- INICIO bean de los DAO --> <bean id="wrappedSolicitudTfnDAO" class="es.xuntagalicia.tfn.modelo.dao.hb.HibernateSolicitudTfnDAO"> <property name="hibernateTemplate"> <ref local="hibernateTemplateBS423A" /> </property> <property name="logService"> <ref bean="logService"/> </property> </bean> <bean id="solicitudTfnDAO" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManagerBS423A" /> </property> <property name="target"> <ref bean="wrappedSolicitudTfnDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="find*"> PROPAGATION_REQUIRED,readOnly </prop> <prop key="*"> PROPAGATION_REQUIRED </prop> </props> </property> </bean> <bean id="wrappedHibernateHijoTfnDAO" class="es.xuntagalicia.tfn.modelo.dao.hb.HibernateHijoTfnDAO"> <property name="hibernateTemplate"> <ref local="hibernateTemplateBS423A" /> </property> <property name="logService"> <ref bean="logService"/> </property> </bean> <bean id="hijoTfnDAO" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManagerBS423A" /> </property> <property name="target"> <ref bean="wrappedHibernateHijoTfnDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="find*"> PROPAGATION_REQUIRED,readOnly </prop> <prop key="*"> PROPAGATION_REQUIRED </prop> </props> </property> </bean> <!-- FIN bean de los DAO --> <bean id="ptSolicitudtfnConverter" class="es.xuntagalicia.tfn.converter.PtSolicitudtfnConverter" scope="prototype"> </bean> <bean id="gestionSolicitudBS423AService" class="es.xuntagalicia.tfn.service.impl.GestionSolicitudBS423AServiceImpl" scope="prototype" parent="ConfiguracionTramitacionService"> <property name="solicitudTfnDAO"> <ref bean="solicitudTfnDAO" /> </property> <property name="ptSolicitudtfnConverter"> <ref bean="ptSolicitudtfnConverter" /> </property> </bean> <!-- FIN Servicios --> <!-- INICIO Acciones disponibles --> <bean id="BS423AAltaAction" class="es.xuntagalicia.tfn.action.BS423AAltaAction" scope="prototype" parent="procesaAltaAction"> <property name="gestionSolicitudBS423AService"> <ref bean="gestionSolicitudBS423AService"/> </property> </bean> <bean id="BS423AAltaEdicionAction" class="es.xuntagalicia.tfn.action.BS423AAltaEdicionAction" scope="prototype" parent="procesaAltaAction"> </bean> <bean id="BS423AAction" class="es.xuntagalicia.tfn.action.BS423AAction" scope="prototype"> <property name="consultaExpedienteService"> <ref bean="consultaExpedienteService"/> </property> <property name="tramitacionService"> <ref bean="tramitacionService" /> </property> <property name="tareaService"> <ref bean="tareaService" /> </property> <property name="logService"> <ref bean="logService" /> </property> <property name="gestionSolicitudBS423AService"> <ref bean="gestionSolicitudBS423AService"/> </property> </bean> </beans>
Utilizo struts tb
Muchas gracias,
Un Saludo