Caches
Datos de Pago Cache
Este servicio instancia un Async Cache Adapter.
Cacha todos los objetos relacionados con pagos, como PAIN_001.
Se requiere que se proporcione la siguiente configuración:
data-cache.retry-delay = 2s
Datos Personalizados Cache
Este servicio instancia un Async Cache Adapter.
Cacha todo custom objetos relacionados por configurable custom-data-keys 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 se admite la recuperación por ods:
data-cache.retry-delay = 2s
Datos Pds Cache
Este servicio instancia un Async Cache Adapter.
Caché todos los objetos relacionados con pds mediante configuración.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 se admite la recuperación por ods:
data-cache.retry-delay = 2s
Configuración de Notificaciones Cache
Este caché instancia un Async Cache Adapter.
Cacha 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 caché.
Esto evitará llamadas innecesarias a servicios externos cuando los datos estén disponibles en la caché.
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 caché, por favor consulte 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 Notificación utilizamos infinispan como nuestra opción de almacenamiento en caché.
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-settings:
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 caché, por favor consulte 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-settings:
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
}
}
}