Java 单个@Repository与多个@Repository-S3和elasticsearch
我正在编写一个文档存储库应用程序,它通过文件系统上的文件夹接收word文档,并将它们存储在AmazonS3中。目前我有一个Java 单个@Repository与多个@Repository-S3和elasticsearch,java,spring,Java,Spring,我正在编写一个文档存储库应用程序,它通过文件系统上的文件夹接收word文档,并将它们存储在AmazonS3中。目前我有一个@服务和一个@存储库,如下所示: @Service public class DocumentService { @Autowired DocumentRepository documentRepository; public void storeDocument(Document document) { documentRepo
@服务
和一个@存储库
,如下所示:
@Service
public class DocumentService {
@Autowired
DocumentRepository documentRepository;
public void storeDocument(Document document) {
documentRepository.store(document);
}
public Document retrieveDocument(String id) {
return documentRepository.retrieve(id);
}
}
@Repository
public class DocumentRepository {
@Autowired
AmazonS3Client amazonS3Client;
public void store(Document document) {
amazonS3Client.putObject("word-bucket", document.getId(), document.getFile());
}
public Document retrieve(String id) {
S3Object s3Object = amazonS3Client.getObject(new GetObjectRequest("word-bucket", id));
Document document = new Document(id, s3Object.getObjectContent());
return document;
}
}
我必须扩展应用程序,以便在遇到新文档时,通过elasticsearch对文本体进行索引。似乎我有两个选择来实现这一点: