複数の JSP ページで EmbeddedGraphDatabase インスタンスを共有する方法はありますか? 問題は、Tomcat サーバーを起動し、特定の Neo4j DB に対して EmbeddedGraphDatabase をインスタンス化すると、同じデータベースに対して別の graphDB をインスタンス化しようとすると、データベースがロックされたままになることです。
質問する
160 次
1 に答える
0
私が理解しているように、これEmbeddedGraphDatabase
はあなたのオブジェクトであり、そのインスタンスをアプリケーションの複数の JSP ページで共有したいと考えています。
そのインスタンスをアプリケーション スコープに配置する必要があります。これにより、アプリケーションのすべてのクラスと JSP ページに表示されます。
ServletContextListener
そのためには、インターフェースを実装する必要があります。
public class YourContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
EmbeddedGraphDatabase db = new EmbeddedGraphDatabase();
event.getServletContext().setAttribute("yourAttrName", db);
}
@Override
public void contextDestroyed(ServletContextEvent event) {
event.getServletContext().removeAttribute("yourAttrName");
}
}
web.xml で定義します
<listener>
<listener-class>your.package.YourContextListener</listener-class>
</listener>
そして、それを使用するには:
EmbeddedGraphDatabase db = getServletContext().getAttribute("yourAttrName");
お役に立てれば。
于 2012-06-10T19:30:28.593 に答える