私は@ Transactionメソッドを持つSpring beanを持っています。Spring @Transactionalアノテーションの厳密な代替方法
public class ABean{
@Transactional
public void method aMethod(){
//do some job with Hibernate.
}
}
しかし、今、私は(実際にはクォーツの文脈における)Springコンテキストではないと呼ばれるべき別のメソッドからこのメソッドを呼び出す必要があります:私は、アノテーション@Transactionalだけで何とかメソッドをラップ理解したよう
public class ABean implements org.quartz.Job{
@Transactional
public void method aMethod(){
//do some job with Hibernate.
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("start...");
//@Transactional annotation is ignored here
//so I have 'Could not obtain transaction-synchronized Session
//for current thread' exception.
aMethod();
System.out.println("done");
}
}
いくつかの別のコード。では、SpringコールのようにaMethod()コールをどのようにラップする必要がありますか?
同じクラス内のメソッドで[Spring @ Transactionメソッド呼び出しが重複している可能性がありますか?](http://stackoverflow.com/questions/3423972/spring-transaction-method-call-by-the-同じクラスのメソッドではありません) –