soject
-
Future 메소드에서 sobject를 파라미터 받지 못하는 이유는?Etc 2024. 3. 15. 22:51
왜 Future 메소드는 Sobjects를 파라미터로 받지 못하는데 Queueable Apex는 받을 수 있나? Future 메소드는 다른 컨텍스트에서 실행되기 때문에 전달된 Sobjects의 상태가 실제 로직이 실행되는 동안 변경될 수 있다. 따라서 future 메소드에서 DML을 수행할 경우 오래된 데이터로 레코드를 덮어쓸 위험이 있다. 반면에, Queueable Apex에서 SObjects를 매개변수로 받을 수 있다 여기서 상태 문제가 적용되지 않는 이유는 Queueable Apex가 실행되기 전에 최신 상태의 SObject를 조회하여 사용할 수 있기 때문이다.라고 여러 블로그에서도 통일한 상식이 많이 공유되어 있습니다. 하지만, 그렇지 않습니다!!! Apex가 처음 개발되었을 때는 단순히 트리거 ..