Vous pouvez utiliser l'interface ObjectGridManager pour contrôler le cycle de vie d'une instance ObjectGrid à l'aide d'un bean de démarrage ou d'un servlet.
public class MyStartupBean implements javax.ejb.SessionBean {
private ObjectGridManager objectGridManager;
/* Les méthodes de l'interface SessionBean ont été retirées
* de cet exemple afin de limiter la taille de ce dernier */
public boolean start(){
// Démarrage du bean de démarrage
// Cette méthode est appelée au démarrage de l'application
objectGridManager = ObjectGridManagerFactory.getObjectGridManager();
try {
// créez 2 instances ObjectGrid et placez-les en cache
ObjectGrid bookstoreGrid = objectGridManager.createObjectGrid("bookstore", true);
bookstoreGrid.defineMap("book");
ObjectGrid videostoreGrid = objectGridManager.createObjectGrid("videostore", true);
// dans la machine virtuelle Java.
// Ces instances ObjectGrid peuvent maintenant être extraite
//de l'ObjectGridManager à l'aide de la méthide getObjectGrid(String)
} catch (ObjectGridException e) {
e.printStackTrace();
return false;
}
return true;
}
public void stop(){
// Arrêt du bean de démarrage
// Cette méthode est appelée à l'arrêt de l'application
try {
// Supprimez et détruisez les instances ObjectGrid en cache
objectGridManager.removeObjectGrid("bookstore", true);
objectGridManager.removeObjectGrid("videostore", true);
} catch (ObjectGridException e) {
e.printStackTrace();
}
}
}
ObjectGridManager objectGridManager =
ObjectGridManagerFactory.getObjectGridManager();
ObjectGrid bookstoreGrid = objectGridManager.getObjectGrid("bookstore");
ObjectGrid videostoreGrid = objectGridManager.getObjectGrid("videostore");
public class MyObjectGridServlet extends HttpServlet implements Servlet {
private ObjectGridManager objectGridManager;
public MyObjectGridServlet() {
super();
}
public void init(ServletConfig arg0) throws ServletException {
super.init();
objectGridManager = ObjectGridManagerFactory.getObjectGridManager();
try {
// créez et placez en cache une instance ObjectGrid intitulée bookstore
ObjectGrid bookstoreGrid =
objectGridManager.createObjectGrid("bookstore", true);
bookstoreGrid.defineMap("book");
} catch (ObjectGridException e) {
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ObjectGrid bookstoreGrid = objectGridManager.getObjectGrid("bookstore");
Session session = bookstoreGrid.getSession();
ObjectMap bookMap = session.getMap("book");
// effectuez des opérations sur l'instance ObjectGrid en cache
// ...
// Fermer la session (facultatif dans les versions 7.1.1 et ultérieures) pour améliorer les performances
session.close();
}
public void destroy() {
super.destroy();
try {
// supprimez et détruisez l'instance ObjectGrid bookstore mise en cache
objectGridManager.removeObjectGrid("bookstore", true);
} catch (ObjectGridException e) {
e.printStackTrace();
}
}
}