É possível usar a interface ObjectGridManager para controlar o ciclo de vida de uma instância ObjectGrid usando um bean ou um servlet de inicialização.
public class MyStartupBean implements javax.ejb.SessionBean {
private ObjectGridManager objectGridManager;
/* The methods on the SessionBean interface have been
* left out of this example for the sake of brevity */
public boolean start(){
// Iniciando o bean de inicialização
// Este método é chamado quando o aplicativo é iniciado
objectGridManager = ObjectGridManagerFactory.getObjectGridManager();
try {
// criar 2 ObjectGrids e armazenar estas instâncias em cache
ObjectGrid bookstoreGrid = objectGridManager.createObjectGrid("bookstore", true);
bookstoreGrid.defineMap("book");
ObjectGrid videostoreGrid = objectGridManager.createObjectGrid("videostore", true);
// na JVM,
// estes ObjectGrids agora podem ser recuperados do
//ObjectGridManager utilizando o método getObjectGrid(String)
} catch (ObjectGridException e) {
e.printStackTrace();
return false;
}
return true;
}
public void stop() {
// Parando o bean de inicialização
// Este método é chamado quando o aplicativo é parado
try {
// remover os ObjectGrids armazenados em cache e destruí-los
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 {
// criar e armazenar em cache um ObjectGrid denominado 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");
// desempenhar operações no ObjectGrid armazenado em cache
// ...
// Close the session (optional in Version 7.1.1
and later) for improved performance
session.close();
}
public void destroy() {
super.destroy();
try {
// remover e destruir o ObjectGrid bookstore armazenado em cache
objectGridManager.removeObjectGrid("bookstore", true);
} catch (ObjectGridException e) {
e.printStackTrace();
}
}
}