0
我想为客户端http缓存配置Resteasy客户端。我想在客户端拥有一个持久性缓存,这可以让我的客户端应用程序重新启动。随着谷歌的帮助下,我才得以建立了我的RestEasy的客户是这样的:Resteasy客户端Http缓存
File cacheDir = new File("C:\\Users\\MyUser\\Desktop\\cache");
CacheConfig config = CacheConfig.DEFAULT;
FileResourceFactory resourceFactory = new FileResourceFactory(cacheDir);
ManagedHttpCacheStorage cacheStorage = new ManagedHttpCacheStorage(config);
CloseableHttpClient client = CachingHttpClients.custom()
.setCacheConfig(config)
.setResourceFactory(resourceFactory)
.setHttpCacheStorage(cacheStorage)
.setDeleteCache(false)
.build();
ApacheHttpClient4Engine engine = new ApacheHttpClient4Engine(client);
ResteasyClient rclient = new ResteasyClientBuilder().httpEngine(engine).build();
我可以看到RestEasy的客户端使用的缓存机制。在调用请求两次时,第二个请求比第一个请求快得多。但是,关闭客户端时,缓存不会保留。此外,在设置客户端时,从不会在指定的目录中写入文件。有什么我失踪?我需要在重新启动后从文件系统恢复缓存。