Groovy 클래스에서 시작하지 않은 Spring 트랜잭션 (클래스 수준, 프록시, 주석 중심)에 대한 경험이있는 사람이 있습니까? 설명 할 수없는 LazyInitialization 예외로 인해 stacktrace에 트랜잭션을 시작하라는 호출이 포함되어 있지 않은 것으로 나타났습니다. 미친 듯이 들리지만 Groovy가 Transactional 주석을 사용하는지 궁금해해야합니다.Groovy에서 Transactional annotation을 사용하는 데 문제가 있습니다
0
A
답변
1
사실 나는 문제의 원인을 발견했습니다. Spring 설명서 (강조 표시된 부분에서) :
24.5.1. AOP - 스크립팅 된 bean을 조언하는 것 Spring AOP 프레임 워크를 사용하여 스크립트 된 bean을 조언하는 것이 가능합니다. Spring AOP 프레임 워크는 실제로 조언을받는 bean이 스크립트 빈 (scripted bean)이 될 수 있다는 것을 모르고 있기 때문에 사용하거나 사용하려고하는 모든 AOP 사용 사례와 기능이 스크립트 된 빈 (bean)으로 작동합니다. 스크립트 빈을 조언 할 때주의해야 할 것이 하나 있습니다. 클래스 기반 프록시를 사용할 수 없으므로 인터페이스 기반 프록시를 사용해야합니다. 당신은 물론 스크립트 된 bean을 조언하는 것에 국한되지 않고 ... 지원되는 동적 언어로 aspect를 작성하고 다른 bean을 조언하기 위해 그러한 bean을 사용할 수도 있습니다. 동적 언어 지원의 고급 사용법이 될 것입니다.
제 문제는 클래스 기반 프록시를 사용하고 있다는 것입니다.
0
당신이 Grails를를 사용하는 경우, 당신은 트랜잭션 주석에 대한 대안으로
MyDomainClass.withTransaction {
// Code within the transaction goes here
}
를 사용하여 시도 할 수 있습니다. 코드가이 접근 방식과 함께 작동하면 문제의 원인이 주석임을 확신 할 수 있습니다 (영구 솔루션으로 보이지 않을 수도 있음).
관련 문제
- 1. MessageConverter에서 @Transactional annotation을 사용하는 LazyInitializationException
- 2. DataContractSerializer를 사용하는 데 문제가 있습니다.
- 3. NSSize를 사용하는 데 문제가 있습니다.
- 4. 스크립트를 사용하는 데 문제가 있습니다.
- 5. Groovy에서 JsonGroovyBuilder를 사용하여 JSON을 생성하는 데 문제가 있습니다.
- 6. Annotation을 사용하는 Spring IsFormSubmission
- 7. axis2와 함께 log4j를 사용하는 데 문제가 있습니다.
- 8. MATLAB에서 찾기 기능을 사용하는 데 문제가 있습니다
- 9. rakudo에서 문법을 사용하는 데 문제가 있습니다. perl6
- 10. Appmobi XDK를 사용하는 데 문제가 있습니다!
- 11. for 루프에서 구조체를 사용하는 데 문제가 있습니다.
- 12. MVC3 - 에디터를 사용하는 데 문제가 있습니다.
- 13. RSpec 'its'기능을 사용하는 데 문제가 있습니다.
- 14. Java Mail API를 사용하는 데 문제가 있습니다.
- 15. 파일을 사용하는 데 문제가 있습니다. 전세계에서
- 16. js jquery helper를 사용하는 데 문제가 있습니다.
- 17. jruby에서 Java 클래스를 사용하는 데 문제가 있습니다
- 18. 자바의 패널을 겹쳐서 사용하는 데 문제가 있습니다.
- 19. Code :: blocks에서 Boost를 사용하는 데 문제가 있습니다.
- 20. AssetManager openFD()를 사용하는 데 문제가 있습니다.
- 21. PHP에서 strip_tags를 사용하는 데 문제가 있습니다
- 22. Trac을 Apache2와 함께 사용하는 데 문제가 있습니다.
- 23. 'foreach'를 일반 목록으로 사용하는 데 문제가 있습니다.
- 24. 자바 스크립트에서 appendChild를 사용하는 데 문제가 있습니다.
- 25. Android에서 Flot + JQuery를 사용하는 데 문제가 있습니다.
- 26. 단위 테스트에서 Moq를 사용하는 데 문제가 있습니다.
- 27. PHP imap 함수를 사용하는 데 문제가 있습니다.
- 28. Windows에서 이맥스에서 Jabber를 사용하는 데 문제가 있습니다.
- 29. jqGrid를 사용하는 데 문제가 있습니다. 검색 기능
- 30. gnuplot에서 문을 사용하는 데 문제가 있습니다.
흠 몇 가지 예를 게시 할 수 있습니까? – hudi