хотел уточнить фундаментальные требования распространения с приведенными ниже сценариями.,Пожалуйста, дайте мне знать, если ниже понимание правильно.
Class MyClass1{
//Propagation is Propagation required
public void method1();
{
method1A();
method1B();
MyClass2 myClass2= new MyClass2();
myClass2.method2A();
myClass2.method2B();
}
// No porapgation is defined here so default will be reuired
public method1A()
{
//Some Transaction
}
// No porapgation is defined here so default will be reuired
private method1B()
{
//Some Transaction
}
}
Class MyClass2{
//Propagation is Propagation required
public void method2()
{
method2A();
method2B();
}
// No porapgation is defined here so default will be required
public method2A()
{
//Some Transaction
}
// No porapgation is defined here so default will be required
public method2B()
{
//Some Transaction
}
}
Теперь вот сценарии
, которые мы вызываем method1 () MyClass1 внутри основного метода
Сценарий1: -
Нет исключений.транзакция будет создана до метода method1A () и будет зафиксирована после myClass2.method2B ();
Scenarion2: -
Исключительная ситуация во время выполнения во время метода1B.Завершенная транзакция будет откатана
Сценарий3: -
Исключительная ситуация во время выполнения во время метода 2A (транзакция в методе 2A будет рассматриваться как часть транзакции, созданной в методе 1 в классе 1).Завершенная транзакция будет откатана
Сценарий4: -
Исключительная ситуация во время выполнения во время метода 2B (транзакция в методе 2A будет обрабатываться как часть транзакции, созданной в методе 1 в классе 1).Завершенная транзакция будет откатана
Редактировать: -
Теперь, если мы рассмотрим те же сценарии с распространением, что и Nested для методов method2A и method2B.
Scenarion1: -
Нет исключений.транзакция будет создана при входе в метод1A () и будет зафиксирована при выходе из метода1A ()
Scenarion2: -
Исключительная ситуация во время выполнения во время метода 1B.Полная транзакция будет откатана
Сценарий3: -
Исключительная ситуация во время выполнения во время метода 2A. Откат будет выполняться только в рамках метода 2A, а остальная часть транзакции будет зафиксирована ввыход из метода1
Сценарий4: -
Исключительная ситуация во время выполнения метода 2B.Откат только транзакции по методу 2B будет выполнен, а остальная часть транзакции будет зафиксирована при выходе из метода 1