Configuration de la prise en charge d'un chargeur en écriture différée

Vous pouvez activer l'écriture différée en utilisant le fichier XML de descripteur d'ObjectGrid ou par programmation avec l'interface BackingMap.

Pour activer l'écriture différée, vous pouvez utiliser le fichier XML de descripteur d'ObjectGrid ou passer pa la programmation avec l'interface BackingMap.

Fichier XML de descripteur d'ObjectGrid

Lors de la configuration d'un ObjectGrid à l'aide d'un fichier XML de descripteur d'ObjectGrid, le chargeur en écriture différée est activé en définissant l'attribut write-behind dans la balise backingMap. Voici un exemple :
<objectGrid name="library" >
     <backingMap name="book" writeBehind="T300;C900" pluginCollectionRef="bookPlugins"/>
Dans l'exemple ci-dessus, l'écriture différée par la mappe de sauvegarde book est activée avec le paramètre T300;C900. L'attribut write-behind spécifie le temps de mise à jour maximal et/ou le nombre de mises à jour de clés maximal. Le format du paramètre write-behind est le suivant :
write-behind attribute  ::= <defaults> | <update time> | <update key count> | <update time> ";" <update key count> 
update time  ::= "T" <positive integer> 
update key count  ::= "C" <positive integer> 
defaults  ::= "" {table}
Les mises à jour du chargeur ont lieu lorsque l'un des événements suivants se produit :
  1. Le temps de mise à jour maximal, en secondes, s'est écoulé depuis la dernière mise à jour.
  2. Le nombre de clés mises à jour dans la mappe de files d'attente a atteint le nombre de clés à mettre à jour.

Ces paramètres sont uniquement des indications. Le temps et le nombre réels de mises à jour seront compris dans une plage de paramètres proche. Toutefois, nous ne garantissons pas que le temps et le nombre réels de mises à jour soient identiques à ceux définis dans les paramètres. De plus, la première mise à jour suivante est susceptible d'avoir lieu dans un délai supérieur au double de celui de la mise à jour. Cela est dû au fait qu'ObjectGrid répartit au hasard l'heure de début des mises à jour de manière à ce que toutes les partitions n'accèdent pas à la base de données en même temps.

Dans l'exemple précédent T300;C900, le chargeur écrit les données dans le système dorsal lorsque 300 secondes se sont écoulées depuis la dernière mise à jour ou lorsque 900 clés sont en attente de mise à jour. Par défaut, le temps de mise à jour est de 300 secondes et le nombre de clés à mettre à jour est 1 000.

Tableau 1. Quelques options d'écriture différée
Valeur d'attribut Temps
T100 Le temps de mise à jour est de 100 secondes et le nombre de clés à mettre à jour est de 1 000 (valeur par défaut)
C2000 Le temps de mise à jour est de 300 secondes (valeur par défaut) et le nombre de clés à mettre à jour est de 2 000.
T300;C900 Le temps de mise à jour est de 300 secondes et le nombre de clés à mettre à jour est de 900.
"" Le temps de mise à jour est de 300 secondes (valeur par défaut) et le nombre de clés à mettre à jour est de 1 000 (valeur par défaut)
Remarque : Si vous configurez le chargeur en écriture différée en tant que chaîne vide : writeBehind="", il est activé avec les valeurs par défaut. Par conséquent, ne spécifiez pas l'attribut d'écriture différée si vous ne souhaitez pas que l'écriture différée soit activée.

Activation par programmation de l'écriture différée

Lorsque vous créez une mappe de sauvegarde à l'aide d'un programme pour un eXtreme Scale en mémoire locale, vous pouvez utiliser la méthode suivante dans l'interface BackingMap pour activer ou désactiver l'écriture différée.

public void setWriteBehind(String writeBehindParam);

Pour plus de détails sur l'utilisation de la méthode setWriteBehind, voir les Interface BackingMap.