2016-01-14 1 views
1

Actuellement, nous créons une carte en utilisant l'option par défaut .getMap(). Nous n'utilisons pas l'option getConfig(). AddMapConfig car nous voulons éviter de vérifier si la carte est vide etc., pour éviter d'appeler ce code chaque fois que nous avons besoin d'accéder à une carte (code client extrait de l'interface getMap()).HazelCast obtient tous les noms de cartes distribuées

Maintenant, la question est à un moment si nous voulons détruire certaines cartes que nous voulons parcourir tous les noms de carte et détruire seulement ceux qui correspondent à un certain critère. Puisque nous n'ajoutons pas à MapConfig, nous ne pouvons pas utiliser getConfig(). GetMapConfigs(). Keyset() pour obtenir les noms des cartes.

Maintenant, nous essayons d'utiliser .getDistributedObjects() pour itérer. Seul souci est l'objet distribué dans son ensemble chargé en mémoire (je l'espère pas ..) ou juste l'ID et les noms chargés dans la référence DistributedObject (comme proxy). Je ne pouvais pas distinguer à partir du code. Est-ce une bonne idée de faire de cette façon ou y at-il un meilleur moyen d'obtenir les références de l'objet carte. Aidez-nous

Répondre

3

HazelcastInstance :: getDistributedObjects ne fait que rappeler tous les objets proxy localement connus, mais il s'agit tous d'objets connus du cluster. Sur les clients, ces informations sont demandées en utilisant un nœud de serveur dans le cluster lui-même. Par conséquent, il est prudent d'itérer ces objets proxy et de tester leurs types.