Java C3P0 ComboPooledDataSource.getConnection方法在部署后带null

Java C3P0 ComboPooledDataSource.getConnection方法在部署后带null,java,postgresql,tomcat,datasource,c3p0,Java,Postgresql,Tomcat,Datasource,C3p0,这是我的c3p0配置代码。。。 当appserver启动时,我正在初始化来自dbDef(db definitions表)的数据源 从dbDef对象启动ComboPooledDataSource对象时发现一个错误。我在数据库上创建了一个新行,从中可以获得连接属性。DB行的定义中必须有空格字符。因此,这段代码对我动态启动db连接非常有用。谢谢您的回复。但我已经看过你指出的这些答案了。正如我的客户提到的,postgre服务器是通过图像文件设置的。那么为什么我从其他连接获取数据时没有问题呢。它们的设置是

这是我的c3p0配置代码。。。 当appserver启动时,我正在初始化来自dbDef(db definitions表)的数据源


从dbDef对象启动ComboPooledDataSource对象时发现一个错误。我在数据库上创建了一个新行,从中可以获得连接属性。DB行的定义中必须有空格字符。因此,这段代码对我动态启动db连接非常有用。

谢谢您的回复。但我已经看过你指出的这些答案了。正如我的客户提到的,postgre服务器是通过图像文件设置的。那么为什么我从其他连接获取数据时没有问题呢。它们的设置是相同的。错误消息“no pg_hba.conf entry”非常清楚。您的Postgres(非“postgre”btw)配置不允许从您的应用程序服务器进行连接。请回答您的问题,并向我们展示
pg_hga.conf
的完整内容,否则无法回答此问题。我从客户那里获得了一些内容。我可以拿给你看。感谢回复。本地所有信任主机所有127.0.0.1/32信任主机所有::1/128信任主机raritan+odbc 0.0.0/0 md5这是我们的客户端提供给我的hba配置@没有名字的马
SessionFactory sessionFactoryByServer;
Connection jdbcConnectionC3P0;
List<Map<String, Object>> connectionSourceList; // object combopooleddatasource 
@PostConstruct
public void init() {
    List <DBDef> dbDefs = new ArrayList<DBDef>();
    try {
        dbDefs = getAllServerIpAddresses();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    connectionSourceList = new ArrayList<Map<String, Object>>();
    for (int i = 0; i < dbDefs.size(); i++) {
        try {
            Map<String, Object> cpdsMap = new HashMap<String, Object>();
            ComboPooledDataSource cpds = new ComboPooledDataSource();
            cpds.setDebugUnreturnedConnectionStackTraces(false);
            cpds.setDriverClass(dbDefs.get(i).getDriver());
            cpds.setJdbcUrl(dbDefs.get(i).getConnectionURL());
            cpds.setUser(dbDefs.get(i).getUserName());
            cpds.setPassword(dbDefs.get(i).getPassword());
            cpds.setDataSourceName(dbDefs.get(i).getIpAddress());
            cpds.setAcquireIncrement(5); 
            cpds.setIdleConnectionTestPeriod(1800);
            cpds.setMinPoolSize(10); 
            cpds.setAcquireRetryAttempts(1);
            cpds.setPreferredTestQuery("SELECT 1");
            cpds.setMaxPoolSize(50);
            Configuration cfg = new Configuration();
            cfg.configure(dbDefs.get(i).getHbmCfgXmlPath());
            cfg.setProperty("connection.provider_class", dbDefs.get(i).getConnectionProvideClass())
                .setProperty("hibernate.c3p0.acquire_increment", dbDefs.get(i).getAcquireIncrement())
                .setProperty("hibernate.c3p0.max_size", dbDefs.get(i).getMaxSize())
                .setProperty("hibernate.c3p0.min_size", dbDefs.get(i).getMinSize())
                .setProperty("hibernate.c3p0.timeout", dbDefs.get(i).getTimeout())
                .setProperty("hibernate.c3p0.max_statements", dbDefs.get(i).getMaxStatements()) 
                .setProperty("hibernate.c3p0.idle_test_period", dbDefs.get(i).getIdleTestPeriod())
                .setProperty("hibernate.show_sql", "true");     
            ServiceRegistryBuilder ssrb = new ServiceRegistryBuilder().applySettings(cfg.getProperties());
            SessionFactory sessionFactory = cfg.buildSessionFactory(ssrb.buildServiceRegistry());
            cpdsMap.put("serverIp", dbDefs.get(i).getIpAddress());
            cpdsMap.put("dataSource", cpds);
            cpdsMap.put("sessionFactory", sessionFactory);              
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }
}
    private SessionFactory retCurSessionFactory(String ipAddress) throws SQLException {
    SessionFactory currentSessionFactory = null;
    for (Map<String, Object> cpdsMap : connectionSourceList) {
            sessionFactoryByServer = (SessionFactory)cpdsMap.get("sessionFactory");
            jdbcConnectionC3P0 = ((ComboPooledDataSource)cpdsMap.get("dataSource")).getConnection();//getConnection brings null here, but only in app server not in my local machine.
            currentSessionFactory = (SessionFactory)cpdsMap.get("sessionFactory");
        }
    }
    return currentSessionFactory;
}
local   all  all                trust
host    all  all  127.0.0.1/32  trust
host    all  all  ::1/128       trust
host raritan +odbc 0.0.0.0/0 md5