2012-06-10 4 views
1

여러 JSP 페이지에서 EmbeddedGraphDatabase 인스턴스를 공유 할 수있는 방법이 있습니까? 일단 특정 Tomcat 서버를 시작하고 특정 Neo4j DB에 대해 EmbeddedGraphDatabase를 인스턴스화하면 해당 데이터베이스에 대해 다른 graphDB를 인스턴스화하려고하면 데이터베이스가 잠긴 상태로 유지됩니다.여러 JSP 페이지에서 EmbeddedGraphDatabase 인스턴스를 공유하는 방법은 무엇입니까?

답변

0

내가 알고있는 것처럼 EmbeddedGraphDatabase이 개체이며 응용 프로그램의 여러 JSP 페이지에서 인스턴스를 공유하기를 원합니다.

인스턴스를 응용 프로그램 범위에 넣으면 모든 응용 프로그램의 클래스와 JSP 페이지에서 볼 수 있습니다.

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"); 
    } 
} 

<listener> 
    <listener-class>your.package.YourContextListener</listener-class> 
</listener> 

의 web.xml에 정의 그리고 사용 얻을 :

EmbeddedGraphDatabase db = getServletContext().getAttribute("yourAttrName"); 

희망이 도움이

ServletContextListener 인터페이스를 구현해야하는 것을해야 할 일 .