J'essaie de configurer mon client Resteasy pour la mise en cache HTTP des clients. Je voudrais avoir un cache persistant du côté client, qui survit à un redémarrage de mon application cliente. Avec l'aide de google je suis en mesure de configurer mon client Resteasy comme ceci:Resteasy Client Http Mise en cache
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();
Je peux voir que le client Resteasy utilise un mécanisme de mise en cache. Lorsque vous invoquez une demande deux fois, la deuxième demande est beaucoup plus rapide que la première. Toutefois, le cache n'est pas conservé lors de la fermeture du client. De plus, il n'y a jamais de fichier écrit dans le répertoire spécifié lors de la configuration du client. Y a-t-il quelque chose qui me manque? J'ai besoin que le cache soit restauré à partir du système de fichiers après un redémarrage.