싱글톤 클래스란 무엇인가요?두 개의 관련 서비스에 대해 클래스의 단일 인스턴스를 실행하는 데 도움이 될 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1494642

문제

복잡하게 들릴 수도 있지만 어쨌든 물어보겠습니다.

서비스를 운영하고 있어요 클래스를 사용하는 엑스.다른 서비스를 시작하고 싶어요 클래스를 사용하는 것 새로운 수업 외에도.

서비스 이미 실행 중입니다.나는 서비스의 핫 배포를 수행합니다 .

진짜 질문은 다음과 같습니다 - 서비스하겠습니다 동일한 클래스 인스턴스를 사용하십시오. 엑스 또는 별도의 인스턴스.싱글톤 클래스가 여기서 어떻게 도움이 될 수 있나요?

도움이 되었습니까?

해결책

각 서비스는 자체 운영 체제 (OS) 프로세스 공간에서 실행되며 각 프로세스 공간에는 자체 클래스 인스턴스가 있습니다. "싱글 톤"클래스는 일반적으로 클래스에서 정적 필드를 사용하여 코딩되며, 이는 코드가 실행중인 프로세스 공간에 로컬이되므로 싱글 톤을 공유하지 않습니다. 각각은 자체 인스턴스를 얻을 수 있습니다.

그러나 일부 외부 공유 동기화 프로세스를 사용하여하려는 작업을 수행 할 수 있습니다 (예 : Java Equivilent가 .NET Remoting (또는 WCF)에 대한 싱글 톤을 노출시키는 네트워크 노출 엔드 포인트는 사용하도록 코딩됩니다. 싱글 톤, 그리고 두 서비스를 모두 "연결하고"원격으로 접근 할 수있는 싱글 톤을 사용하십시오).

다른 팁

Java 웹 서비스가 실행되는 방법에 대한 세부 사항은 잘 모르지만 둘 다 동일한 VM에서 실행되는 경우 클래스가 VM의 모든 응용 프로그램에서 공유되므로 정적 필드가 공유될 것이라고 생각합니다.싱글톤 패턴은 일반적으로 단일 인스턴스를 정적 ​​멤버에 연결하여 수행되므로 싱글톤이 공유됩니다.

이는 다음을 기반으로 합니다. 클린 코드 회담 - "전역 상태와 싱글톤"

두 가지 간단한 웹 서비스를 작성하여 테스트할 수 있어야 합니다.하나는 플래그 설정과 같이 싱글톤에 대해 작업을 수행하고 다른 하나는 이를 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top