지정된 리소스 리졸버를 사용하기 위해 스프링 애플리케이션 컨텍스트를 조작하는 방법을 아는 사람은 누구나 알고있다. 아마존 s3의 보안 컨텍스트와 s3 : // ... 유형 URL에서 이러한 "리소스"를 생성하기위한 리소스 확인자로부터 컨텐트를 가져 오기위한 s3 리소스를 작성했으며 로컬 응용 프로그램 컨텍스트는로드시 올바른 보안 자격 증명을 사용합니다 구성된 amazons3client에서. 새로 생성 된 s3 리소스에 대해 AmazonS3 클라이언트를 미리 구성하는 s3 ResourceLoader를 작성했습니다.Springframework 애플리케이션 컨텍스트 리소스 리졸버
"s3 : // ..."과 같이 컨텍스트 구성에서 이러한 리소스를 지정할 수 있으면 좋겠지 만이 리소스 분석기를 사용하여 올바른 리소스 유형을 만들 수는 있지만 지금까지는 재정의가 필요합니다 Spring 고유의 resourceResolver 구현을 사용하기 위해 DefaultResourceLoader에서 상속받은 ApplicationContext의 getResource 메소드.
"s3 : // ..."구성표와 일치하는 리소스에 대해 변수 확인자를 구성하여 해당 리소스 확인자로 리소스 유형을 확인하는 것도 한 가지 방법입니다.
내 S3 보안 요구 사항을 쉽게 처리 할 수 있도록 스프링 애플리케이션 컨텍스트 (ClasspathXMLAC for argument)의 인프라를 조작하는 더 좋은 방법을 알고있는 스프링 전문가가되기를 희망합니다.
기타 제안을 환영합니다.
나는이 기능이 콩으로 인해 선택 될 것으로 기대했다. 현재 내가하고있는 일은 AmazonS3Client 빈을 설정하고 DefaultResourceLoader를 확장 한 종속 ApplicationContextAware S3Loader 빈을 설정 한 다음 setApplicationContext를 사용하여 "GenericApplication 컨텍스트의 응용 프로그램 인스턴스이면 s3Loader로 resourceLoader를 설정합니다. 리소스 로더는 s3 및 MongoDBs GridFS를 지원해야하므로 새 이름이 필요합니다. P – gbegley
N ResourceLoader 인스턴스에 위임하는 CompositeResourceLoader를 작성한 다음 개별 S3-, Mongo- 및 GridFS 기반 ResourceLoader를 가져 와서 집계하십시오 모두 하나의 CompositeResourceLoader 아래에 배치하고 GenericApplicationContext # setResourceLoader 메소드로 넘겨 준다. –