package com.dsideal.Res.Plugin; import lombok.Getter; import org.neo4j.driver.AuthTokens; import org.neo4j.driver.Driver; import org.neo4j.driver.GraphDatabase; import org.neo4j.driver.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Getter public class Neo4jPlugin { private static Neo4jPlugin instance; private Driver driver; private static final Logger logger = LoggerFactory.getLogger(Neo4jPlugin.class); private Neo4jPlugin() {} public static Neo4jPlugin getInstance() { if (instance == null) { instance = new Neo4jPlugin(); } return instance; } public void init(String uri, String user, String password) { try { driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password)); // 验证连接 try (Session session = driver.session()) { session.run("RETURN 1").consume(); logger.info("Neo4j连接成功"); } } catch (Exception e) { logger.error("Neo4j初始化失败: " + e.getMessage(), e); throw new RuntimeException("Neo4j初始化失败", e); } } public void close() { if (driver != null) { driver.close(); } } }