AppCommonConfig.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.tzy.config;
  2. import com.impossibl.postgres.jdbc.PGConnectionPoolDataSource;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Bean;
  5. import javax.sql.PooledConnection;
  6. import java.sql.SQLException;
  7. /**
  8. * @author by po'yi
  9. * @Classname CommonConfig
  10. * @Description TODO
  11. * @Date 2021/12/16 14:05
  12. */
  13. //@Configuration
  14. public class AppCommonConfig {
  15. @Value("${spring.datasource.druid.master.url}")
  16. private String dbUrl;
  17. @Value("${spring.datasource.druid.master.username}")
  18. private String username;
  19. @Value("${spring.datasource.druid.master.password}")
  20. private String password;
  21. //@Bean
  22. //public PGDataSource pgDataSource() {
  23. // PGDataSource ds = new PGDataSource();
  24. // //ds.setDatabaseUrl(dbUrl);
  25. // ds.setHost("m2-dev.hobbystocks.cn");
  26. // ds.setPort(5432);
  27. // ds.setDatabaseName("tzy_system");
  28. // ds.setUser(username);
  29. // ds.setPassword(password);
  30. // return ds;
  31. //}
  32. //
  33. @Bean
  34. public PooledConnection pooledConnection() throws SQLException {
  35. PGConnectionPoolDataSource source = new PGConnectionPoolDataSource();
  36. source.setServerName("m2-dev.hobbystocks.cn");
  37. source.setPortNumber(5432);
  38. source.setDatabaseName("tzy_system");
  39. source.setUser(username);
  40. source.setPassword(password);
  41. return source.getPooledConnection();
  42. }
  43. //@Bean
  44. //public void pgListen() throws SQLException {
  45. // System.out.println("初始化监听器");
  46. // //获取数据库连接
  47. // Connection connection =pooledConnection().getConnection();
  48. // //将数据库连接还原为原始的PGConnection
  49. // PGConnection pgConnection = connection.unwrap(PGConnection.class);
  50. // //为连接添加监听器
  51. // pgConnection.addNotificationListener(new PGNotificationListener() {
  52. // @Override
  53. // public void notification(int processId, String channelName, String payload) {
  54. // System.out.println("Received Notification: " + processId + ", " + channelName + ", " + payload);
  55. // }
  56. // @Override
  57. // public void closed() {
  58. // PGNotificationListener.super.closed();
  59. // }
  60. // });
  61. //
  62. // //设置监听通道 对应pgnotify的channel
  63. // Statement stmt = pgConnection.createStatement();
  64. // stmt.executeUpdate("LISTEN CARD_GROUP_ORDER_INFO_MODIFIED_TEST");
  65. // stmt.close();
  66. //}
  67. //@Bean
  68. //public ConnectionFactory connectionFactory(){
  69. // ConnectionFactory connectionFactory= ConnectionFactories.get(ConnectionFactoryOptions.builder()
  70. // .option(DRIVER,"postgresql")
  71. // .option(HOST,host)
  72. // .option(PORT,port)
  73. // .option(USER,username)
  74. // .option(PASSWORD,password)
  75. // .option(DATABASE,database)
  76. // .build());
  77. //
  78. // ConnectionPoolConfiguration configuration = ConnectionPoolConfiguration.builder(connectionFactory)
  79. // .maxIdleTime(Duration.ofMillis(1000))
  80. // .maxSize(20)
  81. // .build();
  82. // // ConnectionPool实现了ConnectionFactory接口,使用ConnectionFactory替换ConnectionFactory
  83. // return new ConnectionPool(configuration);
  84. //}
  85. }