获取连接数据库的IP

解决方案 »

  1.   

     我在Hibernate属性文件个数据库中?我有2数据库IP。如果第一个没有连接话。会自动连接第二个数据库。我不知道第一个数据是否断开。是连接的第一个数据库还是第二个数据库。所有我要获取他所连接的数据库的IP.
      

  2.   

      我连接的是Mysql数据库。。
      

  3.   

    写两个Hibernate属性文件,在程序调用前先做判断,写个方法判断这个ip是否连通,判断可以用java.net.InetAddress来做判断
    如果不能连通则调用第二个ip的Hibernate属性文件
      

  4.   

    Hibernate api 中有没有获取IP的方法。
      

  5.   

    api中的确没有,
    我这样想,可以不
    对于连接第一个数据库时,如果发生异常,抛出一个连接异常抛出
    throw new Execption("Mysql 1 连接失败,Mysql 2 连接中");
    对于连接第二个数据库时,如果发生异常,同样可以操作。
    但还要有一个静态的记数器,用来记录Mysql 1 / Mysql 2 相互转换的次数。
    以免两个数据库都不能连接,使程序处于死循环。
    以上给于参考
      

  6.   

    Hibernate api 中没有获取IP的方法。这个靠你自己在程序中写
    在加载hibernate的配置文件前判断。
    前提你的hibernate的session不是由spring来管理
      

  7.   

      我要准确的获取ip地址是多少。  但是我的session必须要让Sping管理。
      

  8.   

    获得 JDBC 的 Connection,通过 Connection 获得 DatabaseMetaData,其中有个 getURL() 方法,可以获得 JDBC 的连接字符串。