정적 인 초기화 (예 : 지속성 라이브러리)가 주어진 인스턴스에 대한 요청간에 지속된다고 가정했습니다. 갑자기 나에게 어쩌면 틀렸을 수도 있습니다. 어쩌면 따뜻한 인스턴스에서도 각 요청에 대해 내 앱의 init이 다시 실행될 수 있습니다. 내가 부탁 해요 이유는 다음과 같습니다정적 초기화가 각 요청마다 반복됩니까?
는 다음과 같습니다
내가 개체의 목록을 수신하고이를 저장하는 요청 처리기를 (구글 엔드 포인트로 발생하지만 그 관련되어 있다고 생각하지 않습니다)이있다.
엔티티는 20 가지 유형 중 하나 일 수 있으므로 정적 초기화는 20 가지 엔티티 유형을 모두 '등록'합니다. 내가 객관화 사용하는 일이, 그래서 다음과 같습니다
@Api(name = "myendpoint")
public class MyEndpoint {
static {
ObjectifyService.register(EntityOne.class);
ObjectifyService.register(EntityTwo.class);
... x20
}
수행중인 경우 모든 요청에 대해 '등록하기'나는 더 나은했다만을 요청에 필요한 기관 등록으로 변경.
(I 옳다 새로운 인스턴스를 생성 할 때 내 정적 초기화 만 수행하면 다른 한편으로는, 나는 정적 초기화에 많은 초기화를 내가 할 수있는대로 놓아야합니다.)
나에게 점수를 줄 수있는 것은하지 말아주세요 - 단지 제가 3333에 있다는 것을 깨달았습니다! – Tom
정적 초기화 블록 내에서 객체화 초기화를 피하는 것이 좋습니다. 클래스 앞에 번역기를 추가하고 객체화할 때 등록 할 때 스레드 안전성을 공장에 적용하지 않아야합니다. 또한이 방법은 로컬에서 디버그/핫로드하는 것을 어렵게 만들 수 있습니다. – Nick