Caches
Datos de Pago Cache
Este servicio instancia un Async Cache Adapter.
It caches todos los objetos relacionados con pagos, como PAIN_001.
Se requiere que se proporcione la siguiente configuración:
data-cache.retry-delay = 2s
Custom Datos Cache
Este servicio instancia un Async Cache Adapter.
It caches todo custom objetos relacionados por configurable claves-de-datos-personalizadas campo, que toma una lista de nombres para extraer de un CustomObjectContainer.
payment-status-notification.resequencer.custom-data-keys = []
También requiere que se proporcione el retraso de reintento si la recuperación por ods es compatible:
data-cache.retry-delay = 2s
Pds Datos Cache
Este servicio instancia un Async Cache Adapter.
It caches todo pds objetos relacionados por configurable pds-data-keys campo, que toma una lista de nombres para extraer de un PdsObjectContainer.
payment-status-notification.resequencer.pds-data-keys = []
También requiere que se proporcione el retraso de reintento si la recuperación por ods es compatible:
data-cache.retry-delay = 2s
Configuración de Notificaciones Cache
Este cache instancia un Async Cache Adapter.
It caches todas las configuraciones de notificación. Luego es utilizado por la implementación del Conector y por el MongoDB implementación, que utiliza el adaptador para almacenar y recuperar los datos de la cache.
Esto evitará llamadas innecesarias a servicios externos cuando los datos estén disponibles en el cache.
Asíncrono Cache Adaptador
Dos tipos de Async Cache Los adaptadores pueden ser instanciados. Vale la pena revisar el IPF-Cache documentación para entender las diferentes opciones con más detalle. La configuración actual que puede ser anulada se cubre aquí.
ipf.caching.caffeine.enabled = false
ipf.caching.infinispan {
enabled = true
cache-manager-name = "infinispanCacheManager"
settings {
payment-data {
max-count = 19000000
timeout = 4h
cache-mode = REPL_ASYNC
}
custom-data {
max-count = 19000000
timeout = 4h
cache-mode = REPL_ASYNC
}
pds-data {
max-count = 19000000
timeout = 4h
cache-mode = REPL_ASYNC
}
resequencer-state {
max-count = 19000000
timeout = 5m
cache-mode = REPL_ASYNC
}
notification-settings {
max-count = 100
timeout = 1h
cache-mode = REPL_ASYNC
}
}
}
Caffeine Cache
Para habilitar Caffeine Cache esta propiedad debe ser establecida:
ipf.caching.caffeine.enabled = true
Para la configuración adicional que debe ser proporcionada para Caffeine cache, por favor, lea la documentación sobre Configuración de Cafeína.
Tres Async Cache Los adaptadores se instancian utilizando el Caffeine Cache Fábrica si la configuración está establecida para usar Caffeine:
En el Servicio de Notificaciones utilizamos infinispan como nuestro caching opción.
En caso de que deseemos cambiar a caffeine, solo necesitamos cambiar la propiedad habilitada de false a true y establecer las siguientes propiedades para payment-data y notifications-configuraciones:
ipf.caching.caffeine {
enabled = false
settings {
payment-data {
max-size = 100000
timeout = 80s
}
notification-settings {
max-size = 1
timeout = 1ms
}
}
}
Infinispan Cache
Para habilitar Infinispan Cache esta propiedad debe ser establecida:
ipf.caching.infinispan.enabled = true
Para la configuración adicional que debe ser proporcionada para Infinispan cache, por favor, lea la documentación sobre Configuración de Infinispan.
Dos Async Cache Los adaptadores se instancian utilizando el Infinispan Cache Fábrica si la configuración está establecida para usar Infinispan:
Y aquí hay un ejemplo de cómo podemos establecer las propiedades para payment-data y notifications-configuraciones:
ipf.caching.infinispan {
enabled = true
cache-manager-name = "infinispanCacheManager"
settings {
payment-data {
max-count = 100000
timeout = 80s
cache-mode = REPL_ASYNC
}
# We don't want to cache the notification settings because each test has different notification settings
notification-settings {
max-count = 1
timeout = 1ms
cache-mode = REPL_ASYNC
}
}
}