Puede utilizar la interfaz ObjectGridManager para controlar el ciclo de vida de una instancia de ObjectGrid utilizando un bean de arranque o un servlet.
public class MyStartupBean implements javax.ejb.SessionBean {
private ObjectGridManager objectGridManager;
/* Los métodos de la interfaz SessionBean se han
* omitido en este ejemplo por razones de brevedad*/
public boolean start(){
// Inicio del bean de arranque
// Se llama a este método cuando se inicia la aplicación
objectGridManager = ObjectGridManagerFactory.getObjectGridManager();
try {
// crear 2 ObjectGrids y colocar en memoria caché estas instancias
ObjectGrid bookstoreGrid = objectGridManager.createObjectGrid("bookstore", true);
bookstoreGrid.defineMap("book");
ObjectGrid videostoreGrid = objectGridManager.createObjectGrid("videostore", true);
// dentro de la JVM,
// estas ObjectGrids pueden recuperarse ahora del
//ObjectGridManager mediante el método getObjectGrid(String)
} catch (ObjectGridException e) {
e.printStackTrace();
return false;
}
return true;
}
public void stop(){
// Detención del bean de arranque
// Se llama a este método cuando se detiene la aplicación
try {
// eliminar los ObjectGrids almacenadas en memoria caché y destruirlos
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 {
// crear y almacenar en memoria caché un ObjectGrid llamado 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");
// realizar operaciones en el ObjectGrid almacenado en memoria caché
// ...
// Cierre la sesión (opcional en la versión 7.1.1 y posterior) para un mejor rendimiento
session.close();
}
public void destroy() {
super.destroy();
try {
// eliminar y destruir el ObjectGrid bookstore almacenado en memoria caché
objectGridManager.removeObjectGrid("bookstore", true);
} catch (ObjectGridException e) {
e.printStackTrace();
}
}
}