0
我有一个问题给你。我有一个组件有2种方法。第一种方法需要附加到从另一个存在于链中的组件(我使用Spring集成)开始的一个超级交易,第二个方法必须附加到(用于我的应用程序设计的)另一个交易。我想要的行为是,当第二个方法抛出一个异常时,第一个方法开始并且自己重新附加到外部事务中去完成他的工作。我尝试使用Spring框架的“嵌套”传播来做到这一点,但没有成功。Bea Weblogic 10.3上的Spring嵌套事务支持
这是例子:
public ComponentClassInterface{
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor=Exception.class) /*but i have used NESTED without success and I don't want use the same transaction */
public ObjectMessage activate(ObjectMessage message);
}
public ComponentAbstractClass implements ComponentClassInterface{
public void updateObjectMessage(ObjectMessage message){
/*To obtain an attached instance of previously persisted message*/
ObjectMessage message = daoMessage.getMessageByID(message.getID);/*Here i can't retreive the message...the transaction isn't yet attached*/
message.setSomeProperty("ChangedPropertyValue");
daoMessage.updateItem(message);
}
@Override
public abstract ObjectMessage activate(ObjectMessage message);
}
public ComponentConcreteClass extends ComponentAbstractClass{
@Override
public ObjectMessage activate(ObjectMessage message){
............ doSomeStuff ............
}
}
的目标是找到一个解决方案,允许我穿上”重写/重新考虑应用程序提示流程和维护类。
问候
达米亚诺