Moqui 프레임 워크 (1.4.1)에서 응용 프로그램을 개발하는 동안 bitronix 트랜잭션 제한 시간과 관련된 실망한 문제가 발생합니다. 이런 일이 발생하는 이유를 이해할 수 없으며 유일한 해결책은 시스템을 다시 시작해야한다는 것입니다.MOQUI에서 Bitronix 트랜잭션 제한 시간 값을 늘릴 수 있습니까?
이 문제를 어떻게 해결할 수 있는지 정말 알고 싶습니다.
예외는 트랜잭션이 시작되고 수행되는 트랜잭션 제한 시간 설정이
Moqui 프레임 워크 (1.4.1)에서 응용 프로그램을 개발하는 동안 bitronix 트랜잭션 제한 시간과 관련된 실망한 문제가 발생합니다. 이런 일이 발생하는 이유를 이해할 수 없으며 유일한 해결책은 시스템을 다시 시작해야한다는 것입니다.MOQUI에서 Bitronix 트랜잭션 제한 시간 값을 늘릴 수 있습니까?
이 문제를 어떻게 해결할 수 있는지 정말 알고 싶습니다.
예외는 트랜잭션이 시작되고 수행되는 트랜잭션 제한 시간 설정이
같다. 이것은 서비스 나 화면과 같은 Moqui 도구 또는 Moqui TransactionFacade 또는 JTA 인터페이스를 직접 사용하는 Java/Groovy/etc 코드를 사용하여 작성된 코드에 있습니다.
기본적으로 화면을 설정하지 않는 한 Moqui 화면은 트랜잭션으로 실행되지 않습니다. @ begin-transaction 속성을 사용하면 트랜잭션이 실행되지 않습니다. 문제는 오래 실행되는 서비스이며, 기본적으로 Moqui 서비스는 트랜잭션에서 실행됩니다. 트랜잭션을 구성하는 서비스에서 서비스. @ transaction-timeout 속성을 사용하여 시간 제한을 설정하십시오. 기본적으로 서비스는 트랜잭션이있는 경우 이미 사용중인 트랜잭션을 사용하므로 트랜잭션이 실제로 시작된 가장 바깥 쪽 서비스에 있어야합니다.
서비스 및 트랜잭션 관리에 대한 자세한 내용은 moqui.org에서 다운로드 할 수있는 Moqui로 애플리케이션 만들기를 참조하십시오.
코드에 또 다른 문제가있을 수 있으며 이는 브라우저 요청에 대한 소켓 시간 초과입니다 (스크린 샷의 로그에서도 마찬가지입니다). 이 문제를 해결하는 방법에는 몇 가지가 있지만 브라우저가 시간 초과되는 것처럼 쉽게 제어 할 수없는 것도 있습니다. 좋은 UI의 경우 사용자가 앉아서 30 ~ 60 초를 기다리는 것이 가장 바람직합니다. 백그라운드에서 실행되도록 코드를 변경하고 필요한 경우 화면에 무언가를 추가하여 작업의 상태 및/또는 진행 상황을 모니터링하십시오.
그래서이 예외가 다시 발생하지 않도록하기 위해 필 요한 모범 사례는 무엇입니까? 모든 서비스에 대해 새로운 거래를해야합니까? 부하가 증가하면 나중에 시스템에 문제가 있습니까? – adityazoso
보편적 인 모범 사례는 아니므로, 현재 수행중인 작업에 따라 달라 지므로 자세한 내용이 필요합니다. 당신이 무엇을하려고하는지 모른 채 일반적인 권장 사항은 ... 내 배경에 ... 백그라운드 작업을 사용하는 것과 같습니다. 모든 서비스에 대해 새로운 트랜잭션을 수행하는 것은 나쁜 생각입니다. 트랜잭션은 타이밍이나 다른 유형의 오류 전달이 아닌 원자 적 (모두 실패 또는 함께 성공)으로하려는 것에 따라 구조화되어야합니다. –
보고있는 오류 및 관련 동작에 대한 자세한 정보를 제공 할 수 있습니까? 트랜잭션 시간 초과 오류는 항상 발생하며 시간 제한을 늘리거나 tx 구조를 변경하여 해결할 수 있습니다. 시스템 재시작이 필요하다는 것을 결코 알지 못했습니다 ... 그 의미가 무엇인지에 대해 자세히 이야기 해 주시겠습니까? –
내가 얻는 예외에 대한 스크린 샷을 추가했습니다. – adityazoso