带有默认连接池和postgresql 9.4.4的Slick 3.0正在通过"已经有太多客户端"错误

时间:2015-08-04 07:16:46

标签: postgresql hikaricp slick-3.0

目前我正在使用微服务构建应用程序。我有三个实际与数据库交互的实例,即Postgresql 9.4.4。

以下是我与slick 3.0的连接属性

dev {

# Development Database configuration
# ~~~~~
dbconf {
    dataSourceClass="org.postgresql.ds.PGSimpleDataSource"
    properties {
        user="xyz"
        password="dev@xyz"
        databaseName="dev_xyz"
        serverName="localhost"
    }
    numThreads=10
}
}

问题是我收到了这个致命错误:对不起,太多客户已经出错了。 postgresql中的max_connections是100,这是默认值。根据网络上的讨论,我可能必须使用连接池,这是我使用Slick的默认连接池HikariCP。我现在很困惑,我应该采取什么措施来解决这个问题。

1 个答案:

答案 0 :(得分:2)

dbconf { numThreads=10 maxConnections=10 } 参数添加到您的配置中。

final Firebase firebaseRefRating = new Firebase("https://cloudname.firebaseio.com//data/images/" + imgToBeRatedRef + "/rating");
System.out.println("Before runTransaction()");
firebaseRefRating.runTransaction(new Transaction.Handler() {
    public Transaction.Result doTransaction(MutableData mutableData) {
        System.out.println("Inside doTransaction()");
        int currentRating = (int) mutableData.getValue();
        int updatedRating = (currentRating + newRatingImg);
        mutableData.setValue(updatedRating);

        return Transaction.success(mutableData);
    }
    public void onComplete(FirebaseError firebaseError, boolean b, DataSnapshot dataSnapshot) {

    }
});
System.out.println("After runTransaction()");