5
데이터베이스 무결성을 위해 선언적 스프링 트랜잭션 속성을 사용하고 있습니다. 일부 코드는 webservice를 호출하여 셰어 포인트에서 여러 가지 작업을 수행합니다. 문제는 웹 서비스가 백엔드를 견디고있는 스프링으로부터 교착 상태에 빠지는 데 오랜 시간이 걸리는 경우입니다.Spring :: Spring에서 트랜잭션으로 새 스레드를 fork 할 경우
스프링 트랜잭션 선언적 특성이있는 함수 안에 새 스레드를 만들면 스프링에서 무시됩니까?
[Transaction(TransactionPropagation.Required, ReadOnly = false)]
public void UploadPDFManual(/*parameters*/)
{
//DO some data base related things
if (revisionPDFBytes != null)
{
//my sharepoint call which calls webservice
Task.Factory.StartNew(() => DocumentRepositoryUtil.CreateSharepointDocument(docInfo)); // I draw a new thread from ASPNET worker thread pool.
}
}
다른 옵션은 무엇이 있습니까?
나는 트랜잭션에 있어서는 안되는 것을 분리하는 아이디어를 좋아했다. –