Использование Ejb3.0, Weblogic 11g, JDBC
Я вызываю метод, который выполняется удаленно в другом EAR развертывания.
Метод в удаленном развертывании вызывается, но он помечается как@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
проблема в том, что вся логика, которую я делаю в базе данных до вызова удаленного метода, не будет фиксироваться до завершения удаленного метода.
То, что я хочу сделать, этосделайте так, чтобы логика «до» имела место »и когда я вернусь после удаленного вызова, чтобы продолжить нормально.
Любая идея?
Некоторый код для объяснения:
@CallByReference
@Stateless(mappedName = "ejb/OperatorProccessBean")
@Local({ OperatorProccessBeanLocal.class })
@Remote({ OperatorProccessBeanRemote.class })
public class OperatorProccessBean implements OperatorProccessBeanLocal,
OperatorProccessBeanRemote
{
...
SBNDispatchBeanRemote SBNDispatchBean = (SBNDispatchBeanRemote) context.lookup("ejb/SBNDispatchBean#com.mirs.sbn.dispatch.SBNDispatchBeanRemote");
if (SBNDispatchBean == null)
{
logger.error(TAG + " SBNDispatchBean is null");
}
else
{
//until here I want all my data to be commited without waiting for the upcoming remote method to finish
SBNDispatchBean.updateSubscriberInBlockingList(...);
}
...
}
Теперь метод updateSubscriberInBlockingList()
помечен
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
Я хочу, чтобы данные были зафиксированы до вызова этого метода.
Заранее спасибо,лучей.