| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package com.tzy.config;
- import com.impossibl.postgres.jdbc.PGConnectionPoolDataSource;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import javax.sql.PooledConnection;
- import java.sql.SQLException;
- /**
- * @author by po'yi
- * @Classname CommonConfig
- * @Description TODO
- * @Date 2021/12/16 14:05
- */
- //@Configuration
- public class AppCommonConfig {
- @Value("${spring.datasource.druid.master.url}")
- private String dbUrl;
- @Value("${spring.datasource.druid.master.username}")
- private String username;
- @Value("${spring.datasource.druid.master.password}")
- private String password;
- //@Bean
- //public PGDataSource pgDataSource() {
- // PGDataSource ds = new PGDataSource();
- // //ds.setDatabaseUrl(dbUrl);
- // ds.setHost("m2-dev.hobbystocks.cn");
- // ds.setPort(5432);
- // ds.setDatabaseName("tzy_system");
- // ds.setUser(username);
- // ds.setPassword(password);
- // return ds;
- //}
- //
- @Bean
- public PooledConnection pooledConnection() throws SQLException {
- PGConnectionPoolDataSource source = new PGConnectionPoolDataSource();
- source.setServerName("m2-dev.hobbystocks.cn");
- source.setPortNumber(5432);
- source.setDatabaseName("tzy_system");
- source.setUser(username);
- source.setPassword(password);
- return source.getPooledConnection();
- }
- //@Bean
- //public void pgListen() throws SQLException {
- // System.out.println("初始化监听器");
- // //获取数据库连接
- // Connection connection =pooledConnection().getConnection();
- // //将数据库连接还原为原始的PGConnection
- // PGConnection pgConnection = connection.unwrap(PGConnection.class);
- // //为连接添加监听器
- // pgConnection.addNotificationListener(new PGNotificationListener() {
- // @Override
- // public void notification(int processId, String channelName, String payload) {
- // System.out.println("Received Notification: " + processId + ", " + channelName + ", " + payload);
- // }
- // @Override
- // public void closed() {
- // PGNotificationListener.super.closed();
- // }
- // });
- //
- // //设置监听通道 对应pgnotify的channel
- // Statement stmt = pgConnection.createStatement();
- // stmt.executeUpdate("LISTEN CARD_GROUP_ORDER_INFO_MODIFIED_TEST");
- // stmt.close();
- //}
- //@Bean
- //public ConnectionFactory connectionFactory(){
- // ConnectionFactory connectionFactory= ConnectionFactories.get(ConnectionFactoryOptions.builder()
- // .option(DRIVER,"postgresql")
- // .option(HOST,host)
- // .option(PORT,port)
- // .option(USER,username)
- // .option(PASSWORD,password)
- // .option(DATABASE,database)
- // .build());
- //
- // ConnectionPoolConfiguration configuration = ConnectionPoolConfiguration.builder(connectionFactory)
- // .maxIdleTime(Duration.ofMillis(1000))
- // .maxSize(20)
- // .build();
- // // ConnectionPool实现了ConnectionFactory接口,使用ConnectionFactory替换ConnectionFactory
- // return new ConnectionPool(configuration);
- //}
- }
|