2
내 Spark 응용 프로그램에서 스프링 컨텍스트를 초기화하려고합니다. 슬레이브 노드에서 컨텍스트를 원할뿐만 아니라 빈을 다시 사용하고 싶습니다. 다음과 같은 코드가 있습니다 : -SpringContext를 한 번 초기화하고 여러 태스크를 공유하는 방법은 무엇입니까?
shipperRD2.foreach(shipper->{
AmazonS3 amazonS3Client = AmazonS3ClientBuilder.standard().build();
FileSystemXmlApplicationContext context2 = new FileSystemXmlApplicationContext("https://s3.console.aws.amazon.com/s3/object/spring-configuration/app-context.xml");
PersistenceWrapper persistenceWrapper = context.getBean(PersistenceWrapper.class);
});
그러나 이것은 슬레이브 노드에서 새 작업이 실행될 때마다 컨텍스트를 새로 고칩니다. 이 문제를 피할 수있는 방법이 있습니까? 기본적으로 첫 번째 작업 실행시 컨텍스트를 초기화하고 후속 작업에서 해당 컨텍스트를 다시 사용하십시오.
당신이 방송 변수를 사용하여 싱글 (안티) 패턴이나 봤어? –
싱글 톤 패턴을 시도합니다. 브로드 캐스트 변수는 직렬화 가능해야하므로 여기에 적용되지 않습니다. – Sanchay