La pregunta lo dice todo, me gustaría utilizar CacheBuilder, pero mis valores se extraen de forma asíncrona. Esto funcionó previamente con MapMaker ya que el CacheLoader no era un requisito. Ahora me gustaría saber si puedo hackear esto o si hay alternativas no desaprobadas. Gracias.¿Cómo alguien usa el CacheLoader de Guava de forma asíncrona
Respuesta
Creo que la pregunta que intentas hacer es "¿Cómo puedo usar CacheBuilder sin tener que especificar un CacheLoader?" Si ese es el caso, entonces habrá soporte para esto en la versión 11.0 de Guava. Mientras tanto, un método de aumento() en CacheLoader ya está marcada en el tronco (a partir de esta mañana):
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html
Sí, específicamente en un proceso en el que los datos se recuperan de forma asíncrona, lo que todavía considero un caso de uso válido. Gracias por su entrada. –
Ah, si lo que quieres es un CacheLoader asíncrono, entonces eso es algo de lo que estamos hablando, pero no sucederá pronto ... – fry
Un método sería hacer con los parámetros genéricos K y V como sus salidas deseadas:
LoadingCache<K, ListenableFuture<V>> values = CacheBuilder.newBuilder()
.build(
new CacheLoader<K, ListenableFuture<V>>() {
public ListenableFuture<V> load(K key) {
/* Get your future */
}
});
- 1. ¿Cómo se usa HttpWebRequest (.NET) de forma asíncrona?
- 2. Google Guava's CacheLoader loadAll() vs reload() semántica
- 3. Descargar pdf de forma asíncrona
- 4. JavaScript: ¿Cómo descargar JS de forma asíncrona?
- 5. Cómo eliminar una carpeta de forma asíncrona
- 6. Criando eventos de forma asíncrona
- 7. ¿Alguien usa Racket comercialmente?
- 8. filas UITableView cargan de forma asíncrona
- 9. ¿Forma compacta de crear Guava Multimaps?
- 10. ¿Alguien usa .NET System.IO.IsolatedStorage?
- 11. ¿Alguien usa SvnMapper?
- 12. ¿Alguien usa Rhino Security?
- 13. ¿Alguien usa OSGi's OBR?
- 14. ColdFusion: ¿Alguien usa WDDX?
- 15. ¿Alguien usa Clamato?
- 16. Cómo llamar a cualquier método de forma asíncrona en C#
- 17. ¿Alguien usa archivos de configuración para javascript?
- 18. ¿Jquery append() se comporta de forma asíncrona?
- 19. Escribir en un archivo de forma asíncrona
- 20. ¿Alguna vez alguien usa el Control Ribbon?
- 21. jQuery - Enviar una forma asíncrona
- 22. ¿Cómo vaciar de forma asíncrona un archivo mapeado en memoria?
- 23. ¿Alguien usa la línea de dirección 2
- 24. Hacer múltiples solicitudes HTTP de forma asíncrona
- 25. ¿Alguien sabe de una biblioteca mysql asíncrona para python?
- 26. ¿Cómo se usa el método delayyed_job para hacer que Rails 3.0 ActionMailer se ejecute de forma asíncrona? Encuentro con ArgumentErrors
- 27. ¿Cómo puedo monitorizar de forma asíncrona un archivo en Perl?
- 28. ¿Alguien usa articulaciones externas derechas?
- 29. ¿Cómo depurar JavaScript de forma asíncrona? (Muchos guiones están cargando)
- 30. ¿Alguien usa membresía ASP .NET?
La pregunta realmente no lo dice todo. ¿Podría explicar más claramente lo que estaba haciendo y por qué Cache no funcionará para usted? – ColinD
Supongo que estaba usando 'MapMaker' para hacer un' ConcurrentMap' no computable, que luego rellenaría a través de 'map.put'. En Guava 10.0.1, puede hacer esto con un 'Cache' usando' cache.asMap(). Put' – Ray
@ColinD: El problema aquí es que necesito extraer un conjunto de datos de forma asíncrona como un agujero antes de poder configure la caché, la informática requiere el conjunto de agujeros, no puedo usar la caché a petición de esta manera. –