Yes , i can see it clearly from console as far as i guess when u call invocation.invoke() ; only the result of action become target.
joey-30 wrote: > > Are you sure you catch the HibernateException? > > > On 4/4/07, oguzhan tortop <[EMAIL PROTECTED]> wrote: >> >> >> hi all, >> i am using struts2 with hibernate i have a basic form which inputs the >> given >> data via hibernate. I get the hibernate session from my custom hibernate >> interceptor and from that interceptor i call the action which creates the >> hibernate transaction with data from its form and after that i return the >> success case from action but there is a finally statement in my hibernate >> interceptor which commits the transaction that's data filled in my action >> class. But for ex. if the data is exist in db before which means >> duplicate >> then it gives an error and when i get this error i return and >> ACTION.ERROR >> from my hibernate interceptor but what i see on the page is the SUCCESS >> result from the action class. What could be the problem ? :) Any help >> will >> be usefull thanks for your support >> Here is my default stack and action conf. >> <interceptor-stack name="defaultStack"> >> <interceptor-ref name="exception"/> >> <interceptor-ref name="servlet-config"/> >> <interceptor-ref name="timer"/> >> <interceptor-ref name="logger"/> >> <interceptor-ref name="static-params"/> >> <interceptor-ref name="params"/> >> <interceptor-ref name="hibernate"/> >> </interceptor-stack> >> >> >> <action name="CreateService" >> class="tr.com.mkk.admin.action.CreateServiceAction"> >> <result name="input" > >> <param >> name="location">/admin/createService.jsp</param> >> </result> >> <result name="success" > >> <param >> name="location">/admin/viewService.jsp</param> >> </result> >> <interceptor-ref name="validation"/> >> <interceptor-ref name="validatorErrors"/> >> <interceptor-ref name="defaultStack"/> >> </action> >> Here is my interceptor class : >> >> public String intercept(ActionInvocation invocation) throws Exception { >> Action action = (Action)invocation.getAction(); >> if ( !(action instanceof BaseActionSupport) ) return >> invocation.invoke(); >> if (null == factoryName || null == packageName) >> throw new IllegalArgumentException("factoryName >> and >> packageName >> parameters should be given \n" + >> "check parameters in xml file >> <param name='factoryName'> \n" + >> "and <param >> name='packageName'>\n"); >> >> // adds factory to cache if not available >> HibernateSessionFactory.addFactory(factoryName, >> packageName, >> extConfigFilePath); >> >> HibernateSession hs = new HibernateSession(); >> hs.setFactoryName(factoryName); >> ((BaseActionSupport)action).setHibernateSession(hs); >> >> try { >> result = invocation.invoke();//calls the action >> here it creates >> transaction data >> } >> >> // Note that all the cleanup is done >> // after the view is rendered, so we >> // have an open session in the view >> >> catch (Exception e) { >> hs.setRollBackOnly(true); >> if (e instanceof HibernateException) { >> LOG.error("HibernateException in >> execute()", e); >> return Action.ERROR; >> } >> else { >> LOG.error("Exception in execute()", e); >> throw e; >> } >> } >> >> finally { >> try { >> hs.disposeSession();//commits transaction >> , >> and closes hibernate session >> return result;//expected result when an >> exception occurs with hibernate >> operations >> } >> catch (HibernateException e) { >> LOG.error("HibernateException in >> dispose()", e); >> return Action.ERROR; >> } >> } >> } >> >> ---------------------Action >> Class---------------------------------------------------------- >> public class CreateServiceAction extends BaseActionSupport { >> >> private Service service; >> >> public CreateServiceAction() { >> service = new Service(); >> } >> >> public String execute() throws Exception { >> ServiceManager.getInstance().createService(getSession(), >> service);//gets >> the hibernate session and sends it to the serviceManager object which >> creates transaction >> set("service", service); >> return SUCCESS; >> } >> >> public Service getService() { >> return service; >> } >> } >> >> ********* >> >> -- >> View this message in context: >> http://www.nabble.com/Struts-2-exception-problem-tf3525255.html#a9835135 >> Sent from the Struts - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/Struts-2-exception-problem-tf3525255.html#a9837507 Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]