解析Postgresql JDBC URL以获得主机名、端口和数据库名称的最佳方法是什么?
这是这个问题的一个具体例子:How to parse a JDBC url to get hostname,port etc?
发布于 2021-01-08 20:20:30
一种可能是使用Postgresql JDBC driver来解析URL。当然,只有当它是Postgresql URL时,它才能起作用。
如果提供的URL不包含故障切换主机,则可以执行以下操作:
Properties props = org.postgresql.Driver.parseURL("jdbc:postgresql:myDatabase", null);
String host = props.getProperty(PGProperty.PG_HOST.getName());
int port = Integer.parseInt(props.getProperty(PGProperty.PG_PORT.getName()));
String dbName = props.getProperty(PGProperty.PG_DBNAME.getName());
上面的调用返回以下属性:{PGDBNAME=myDatabase, PGPORT=5432, PGHOST=localhost}
如果URL包含故障转移主机,则host属性和port属性包含多个逗号分隔值。例如,调用
Properties props = org.postgresql.Driver.parseURL("jdbc:postgresql://host1:5434,host2:5433/database", null);
将返回以下属性:{PGDBNAME=database, PGPORT=5434,5433, PGHOST=host1,host2}
https://stackoverflow.com/questions/65628827
复制相似问题