0
我有一個端點正在做一些處理,最後在ResponseEntity
內返回一個靜態資源byte[]
。返回靜態資源的服務層的當前實現如下。靜態資源的Spring Boot ResourceLoader緩存
@Service
public class MyService_Impl implements MyService {
private ResourceLoader resourceLoader;
@Autowired
public MyService_Impl (ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
@Override
public byte[] getMyResource() throws IOException {
Resource myResource = resourceLoader.getResource("classpath:/static/my-resource.gif");
InputStream is = myResource.getInputStream();
return IOUtils.toByteArray(is);
}
}
在高峯我看到在這個端點的響應時間增加較多,我的感覺是,這是瓶頸爲約100個線程同時請求該資源。是否有一個特定的Spring資源緩存機制,我可以使用這個資源保存在內存中,或者我需要在getMyResource()
方法中引入ehcache
?