1
檢索(圖connecion)靜態服務器變量我知道這個問題有點多GWT ...如何從GWT RequestFactory
我發展我的第一個CWT的應用程序。我正在使用RequestFactory。我以「GWT In Action第二版」爲例。在ContactService類中,訪問數據庫的方法在哪裏,我希望連接Neo4J Graph。 在構造添加此
private static GraphDatabaseService graphDB;
public ContactService() {
String DB_PATH = "/home/myName/Developer/Workspace/MyGWTApp/DATA";
graphDB = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
}
我可以使靜態變量graphDB該方法CRUD,抓取(graphDB,ID),堅持(graphDB,C),等等。一切正常。第一次構造函數給我一個鏈接圖。我的問題是,當我通過示例FriendService開發另一個服務類時,我需要再次連接到graphDB。我不能用構造
private static GraphDatabaseService graphDB;
public FriendService() {
String DB_PATH = "/home/myName/Developer/Workspace/MyGWTApp/DATA";
graphDB = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
}
這是正常的Neo4j的重建同樣的事情。我必須只檢索我的靜態變量graphDB的值。但如何做到這一點?
我試圖創建類似的
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
public class Neo4jServletContextListener implements ServletContextListener{
public static GraphDatabaseService getGraphDB(ServletContext context) {
return (GraphDatabaseService) context.getAttribute("neo4j");
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
getGraphDB(arg0.getServletContext()).shutdown();
//System.out.println("ServletContextListener destroyed");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
String DB_PATH = "/home/myName/Developer/Workspace/MyGWTApp/DATA";
GraphDatabaseService graphDB =
new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
ServletContext context = arg0.getServletContext();
context.setAttribute ("neo4j", graphDB);
//System.out.println("ServletContextListener started");
}
}
一個servlet但它是不可能做出這種
graphDB = (GraphDatabaseService) getServletContext().getAttribute("neo4j");
我在堆棧溢出這條線在什麼地方找到它運行良好
graphDB = (GraphDatabaseService) RequestFactoryServlet.getThreadLocalServletContext().getAttribute("neo4j");