如何解决如何将 PGProperty 与 HikariDataSource 一起使用?
我想弄清楚如何使用 PGProperty 属性来配置 hikari 数据源。
这很好用:
final String jdbcUrl = String.format(
"jdbc:postgresql://%s:%s/%s?ApplicationName=%s",configuration.getDatabaseHost(),configuration.getDatabasePort(),configuration.getDatabaseName(),configuration.getDatabaseAppName());
hikariDataSource.setJdbcUrl(jdbcUrl);
hikariDataSource.setUsername(configuration.getDatabaseUsername());
hikariDataSource.setPassword(configuration.getDatabasePassword());
hikariDataSource.setMaximumPoolSize(configuration.getDatabaseMaximumPoolSize());
但我希望能够使用 PGProperty 来避免像上面那样手动构建 JDBC url。当我尝试这个时:
hikariDataSource.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource");
hikariDataSource.addDataSourceProperty(PGProperty.PG_HOST.getName(),configuration.getDatabaseHost());
hikariDataSource.addDataSourceProperty(PGProperty.PG_PORT.getName(),configuration.getDatabasePort());
hikariDataSource.addDataSourceProperty(PGProperty.PG_dbnAME.getName(),configuration.getDatabaseName());
hikariDataSource.addDataSourceProperty(PGProperty.APPLICATION_NAME.getName(),configuration.getDatabaseAppName());
hikariDataSource.addDataSourceProperty(PGProperty.USER.getName(),configuration.getDatabaseUsername());
hikariDataSource.addDataSourceProperty(PGProperty.PASSWORD.getName(),configuration.getDatabasePassword());
我收到此错误:
Property PGHOST does not exist on target class org.postgresql.ds.PGSimpleDataSource
https://jdbc.postgresql.org/documentation/publicapi/org/postgresql/PGProperty.html
解决方法
hikariDataSource.setJdbcUrl("jdbc:postgresql:");
hikariDataSource.addDataSourceProperty(PGProperty.PG_HOST.getName(),configuration.getDatabaseHost());
hikariDataSource.addDataSourceProperty(PGProperty.PG_PORT.getName(),configuration.getDatabasePort());
hikariDataSource.addDataSourceProperty(PGProperty.PG_DBNAME.getName(),configuration.getDatabaseName());
hikariDataSource.addDataSourceProperty(PGProperty.APPLICATION_NAME.getName(),configuration.getDatabaseAppName());
hikariDataSource.addDataSourceProperty(PGProperty.USER.getName(),configuration.getDatabaseUsername());
hikariDataSource.addDataSourceProperty(PGProperty.PASSWORD.getName(),configuration.getDatabasePassword());
hikariDataSource.setMaximumPoolSize(configuration.getDatabaseMaximumPoolSize());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。