Results 1 to 3 of 3
  1. #1
    bunny is offline Member
    Join Date
    Aug 2010
    Posts
    6
    Rep Power
    0

    Default Using Spring AOP based transaction with Struts1

    Hi Friends,

    I am developing one application using Struts1.3+Spring2.5+Hibernate3.6 to do practice.
    In this application I am using Spring AOP transactions, but transaction is not working for me.

    Please check my code snippets and help me.

    web.xml
    =======
    in addition to general entries, I have added the following code as well

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

    <listener>
    <listener-class>org.springframework.web.context.ContextLoade rListener</listener-class>
    </listener>
    applicationContext.xml
    ==================

    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.Hibernat eTransactionManager">
    <property name="sessionFactory" ref="mySessionFactory" />
    </bean>

    <bean id="matchAllWithSave"
    class="org.springframework.transaction.interceptor .NameMatchTransactionAttributeSource" lazy-init='true'>
    <property name="properties">
    <props>
    <prop key="save*">
    PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="start*">
    PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="newTx*">
    PROPAGATION_REQUIRES_NEW,-Exception</prop>
    <prop key="*">PROPAGATION_SUPPORTS,readOnly</prop>
    </props>
    </property>
    </bean>
    <bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.Hibernat eInterceptor">
    <property name="sessionFactory" ref="mySessionFactory" />
    </bean>
    <bean id="matchSaveTxInterceptor"
    class="org.springframework.transaction.interceptor .TransactionInterceptor" lazy-init="true">
    <property name="transactionManager"><ref bean="transactionManager"/></property>
    <property name="transactionAttributeSource"><ref bean="matchAllWithSave"/></property>

    </bean>
    <bean id="autoProxyCreator"
    class="com.mokjas.extra.InterfaceAutoProxyCreator" lazy-init="true">
    <property name="interceptorNames">
    <list>
    <idref local="matchSaveTxInterceptor"/>
    <idref local="hibernateInterceptor"/>

    </list>
    </property>
    <property name="interfaces">
    <list>
    <value>com.mokjas.service.ITransactionalSaveServic e</value>
    </list>
    </property>
    </bean>
    Here all my service classes implemented this "ITransactionalSaveService" marker interface. So as per the above configuration,any service class which has save* method should wrap with transactions. But for me it is not working.

    ServiceFinder.java
    ==============
    public class ServiceFinder {
    public static ApplicationContext getContext(HttpServletRequest httpRequest) {
    return WebApplicationContextUtils.getRequiredWebApplicati onContext(
    httpRequest.getSession().getServletContext());
    }
    }
    Struts Action class:
    ==============
    here in my action class I am calling save* method of my service class(implemented ITransactionalSaveService)

    transferService.saveAccountTransfer(fromBean, toBean);
    ServiceImpl class:
    ==============

    public void saveAccountTransfer(UserBean fromBean,UserBean toBean){
    // TODO Auto-generated method stub

    getBankDAO().processTransfer(toBean,"To");
    getBankDAO().processTransfer(fromBean,"From");

    }
    DAO Impl class:
    ===========
    public void processTransfer(UserBean bean, String name) {
    Session session=getSessionFactory().openSession();
    session.saveOrUpdate(bean);
    session.close();

    }
    After we execute this
    session.saveOrUpdate(bean);
    my hibernate is not saving the beans accordingly because there is no transaction applied. so hibernate is generating only select statement,not update statement.

    Please help me to solve my issue.

    Thanks,
    Bunny

  2. #2
    noctarius is offline Member
    Join Date
    Jun 2012
    Location
    Remscheid, Germany
    Posts
    61
    Rep Power
    0

    Default Re: Using Spring AOP based transaction with Struts1

    Isn't one of both threads enough?

  3. #3
    Tolls is online now Moderator
    Join Date
    Apr 2009
    Posts
    11,932
    Rep Power
    19

    Default Re: Using Spring AOP based transaction with Struts1

    True, I'm going to close this one as I think the Spring forum is the better bet for this, though this is a bit of a cross cutting question (which is slightly ironic).
    Here's a link to it in case anyone stumbles across this one.
    Please do not ask for code as refusal often offends.

    ** This space for rent **

Similar Threads

  1. Struts1
    By IsaacDura in forum Web Frameworks
    Replies: 0
    Last Post: 03-26-2011, 02:52 PM
  2. free GUI builder/designer for web page based on Spring
    By albertkao in forum Web Frameworks
    Replies: 0
    Last Post: 04-24-2010, 02:38 AM
  3. Difference between struts1 and struts2
    By radhika123 in forum Advanced Java
    Replies: 1
    Last Post: 10-30-2008, 11:04 AM
  4. Replies: 0
    Last Post: 04-01-2008, 10:45 AM
  5. Replies: 0
    Last Post: 10-04-2007, 09:17 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •