求助。 spring+struts2+hibernate项目中 用spring管理事务用 quartz 做自动归档操作,为什么事务无法提交呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 配置文件 <bean id="filingTask" class="com.wlzx.filing.task.FilingTask"/> <bean id="filingTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="filingTaskDetail" /> </property> <property name="cronExpression"> <value>0 0/1 * * * ?</value> </property> </bean> <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="filingTime" /> </list> </property> </bean>package com.wlzx.filing.manager.impl;import java.util.Date;import java.util.List;import com.wlzx.SystemConstant;import com.wlzx.base.manager.impl.BaseManagerImpl;import com.wlzx.filing.manager.IFilingManager;import com.wlzx.logistics.model.LogisticsInfoIndex;import com.wlzx.saleIssue.model.BillStartDelivery;import com.wlzx.saleIssue.model.PassPermit;import com.wlzx.util.DateUtil;/** * 归档实现 * @author doonly * @version 创建时间:Nov 14, 2010 10:49:14 AM */@SuppressWarnings("unchecked")public class FilingManagerImpl extends BaseManagerImpl implements IFilingManager,SystemConstant { public void filingDepartTx() { String hql="From BillStartDelivery b where b.platformStatus=? and b.filingStatus<>? and b.operateDate<=?"; Date filingDate=DateUtil.getNextDate(new Date(),-FILING_DEPART); List<BillStartDelivery>startList=findByHql(hql, new Object[]{BillStartDelivery.DEPARTED,BillStartDelivery.FILING_NO,filingDate}); System.out.println("startList"+startList.size()); for(BillStartDelivery billStartDelivery:startList){ billStartDelivery.setFilingStatus(BillStartDelivery.FILING_YES); getHibernateTemplate().update(billStartDelivery); } } public void filingLogisticsInfoTx() { String hql="From LogisticsInfoIndex i where i.filingStatus<>? and i.createDate<=?"; Date filingDate=DateUtil.getNextDate(new Date(),-FILING_LOGISTICSINFO); List<LogisticsInfoIndex>infoList=findByHql(hql, new Object[]{LogisticsInfoIndex.FILING_NO,filingDate}); System.out.println("infoList"+infoList.size()); for(LogisticsInfoIndex infoIndex:infoList){ infoIndex.setFilingStatus(LogisticsInfoIndex.FILING_YES); getHibernateTemplate().update(infoIndex); } } public void filingPassPermitTx() { String hql="From PassPermit p where p.filingStatus<>? and p.operateDate<=?"; Date filingDate=DateUtil.getNextDate(new Date(),-FILING_PASSPERMIT); List<PassPermit>permitList=findByHql(hql, new Object[]{PassPermit.FILING_NO,filingDate}); System.out.println("permitList"+permitList.size()); for(PassPermit passPermit:permitList){ passPermit.setFilingStatus(PassPermit.FILING_YES); getHibernateTemplate().update(passPermit); } }}package com.wlzx.filing.task;import com.wlzx.filing.manager.IFilingManager;/** * 归档任务 * @author doonly * @version 创建时间:Nov 14, 2010 11:02:59 AM */public class FilingTask { private IFilingManager filingManager; public void filing(){ filingManager.filingDepartTx();//归档发车 filingManager.filingPassPermitTx();//归档出门许可 filingManager.filingLogisticsInfoTx();//归档上传信息 } public void setFilingManager(IFilingManager filingManager) { this.filingManager = filingManager; } } spring 事务的配置 <!-- 配置事务的传播特性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="*Tx" propagation="REQUIRED" /> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <!-- 那些类的哪些方法参与事务 --> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(* com.wlzx.*.manager.*.*(..))" /> <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" /> </aop:config> 可以启动任务 也查询出SQL来了,就是无法提交。手动开启事务关闭事务;还会抛出事务的异常 Spring mvc 的restful拦截路径问题,,谢谢啦 急。。。。。。。。。。 SQL Sever数据库卡事务 在J2EE中操作数据库有没有必要rollback? 【有关自定义费用计算公式的问题】 一个很棒的java,j2ee学习网址导航 DataSouce 求教 try catch,为什么捕获不了错误?? 为什么hibernate 在执行更新时总是有的字段出现空值 呢???????????? 路过的请留步,大家看看小弟是否已经迈上了转型的路了。。。。。。。。。。 急急急!!!求助,线程问题 hibernate日期显示问题,急需请教高手指导!!! 导入fckeditor后出现的错误
<bean id="filingTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="filingTaskDetail" />
</property>
<property name="cronExpression">
<value>0 0/1 * * * ?</value>
</property>
</bean>
<bean id="startQuertz"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="filingTime" />
</list>
</property>
</bean>
package com.wlzx.filing.manager.impl;import java.util.Date;
import java.util.List;import com.wlzx.SystemConstant;
import com.wlzx.base.manager.impl.BaseManagerImpl;
import com.wlzx.filing.manager.IFilingManager;
import com.wlzx.logistics.model.LogisticsInfoIndex;
import com.wlzx.saleIssue.model.BillStartDelivery;
import com.wlzx.saleIssue.model.PassPermit;
import com.wlzx.util.DateUtil;
/**
* 归档实现
* @author doonly
* @version 创建时间:Nov 14, 2010 10:49:14 AM
*/
@SuppressWarnings("unchecked")
public class FilingManagerImpl extends BaseManagerImpl implements
IFilingManager,SystemConstant { public void filingDepartTx() {
String hql="From BillStartDelivery b where b.platformStatus=? and b.filingStatus<>? and b.operateDate<=?";
Date filingDate=DateUtil.getNextDate(new Date(),-FILING_DEPART);
List<BillStartDelivery>startList=findByHql(hql, new Object[]{BillStartDelivery.DEPARTED,BillStartDelivery.FILING_NO,filingDate});
System.out.println("startList"+startList.size());
for(BillStartDelivery billStartDelivery:startList){
billStartDelivery.setFilingStatus(BillStartDelivery.FILING_YES);
getHibernateTemplate().update(billStartDelivery);
}
} public void filingLogisticsInfoTx() {
String hql="From LogisticsInfoIndex i where i.filingStatus<>? and i.createDate<=?";
Date filingDate=DateUtil.getNextDate(new Date(),-FILING_LOGISTICSINFO);
List<LogisticsInfoIndex>infoList=findByHql(hql, new Object[]{LogisticsInfoIndex.FILING_NO,filingDate});
System.out.println("infoList"+infoList.size());
for(LogisticsInfoIndex infoIndex:infoList){
infoIndex.setFilingStatus(LogisticsInfoIndex.FILING_YES);
getHibernateTemplate().update(infoIndex);
}
} public void filingPassPermitTx() {
String hql="From PassPermit p where p.filingStatus<>? and p.operateDate<=?";
Date filingDate=DateUtil.getNextDate(new Date(),-FILING_PASSPERMIT);
List<PassPermit>permitList=findByHql(hql, new Object[]{PassPermit.FILING_NO,filingDate});
System.out.println("permitList"+permitList.size());
for(PassPermit passPermit:permitList){
passPermit.setFilingStatus(PassPermit.FILING_YES);
getHibernateTemplate().update(passPermit);
}
}}
package com.wlzx.filing.task;import com.wlzx.filing.manager.IFilingManager;/**
* 归档任务
* @author doonly
* @version 创建时间:Nov 14, 2010 11:02:59 AM
*/
public class FilingTask {
private IFilingManager filingManager;
public void filing(){
filingManager.filingDepartTx();//归档发车
filingManager.filingPassPermitTx();//归档出门许可
filingManager.filingLogisticsInfoTx();//归档上传信息
}
public void setFilingManager(IFilingManager filingManager) {
this.filingManager = filingManager;
}
}
spring 事务的配置 <!-- 配置事务的传播特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="*Tx" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice> <!-- 那些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allManagerMethod"
expression="execution(* com.wlzx.*.manager.*.*(..))" />
<aop:advisor pointcut-ref="allManagerMethod"
advice-ref="txAdvice" />
</aop:config>