複数の JSP ページで EmbeddedGraphDatabase インスタンスを共有する方法はありますか? 問題は、Tomcat サーバーを起動し、特定の Neo4j DB に対して EmbeddedGraphDatabase をインスタンス化すると、同じデータベースに対して別の graphDB をインスタンス化しようとすると、データベースがロックされたままになることです。
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   に答える