当前位置: 首页 > 知识库问答 >
问题:

无法使用Cloud Foundry中的Spring Cloud连接器设置

常波鸿
2023-03-14

我正在使用Tomcat JDBC连接池和MariaDB JDBC驱动程序在Cloud Foundry上运行的Spring Boot/Spring Cloud Connectors项目中设置数据源,如下所示:

@Configuration
@Profile("cloud")
public class MyDataSourceConfiguration extends AbstractCloudConfig {
    @Bean
    public DataSource dataSource() {
        Map<String, Object> dataSourceProperties = new HashMap<>();
        dataSourceProperties.put("initialSize", "4"); // OK
        dataSourceProperties.put("maxActive", "4");   // OK
        dataSourceProperties.put("maxWait", "2000");  // OK
        dataSourceProperties.put("connectionProperties",      
        "useUnicode=yes;characterEncoding=utf8;"); // ignored
        DataSourceConfig conf = new DataSourceConfig(dataSourceProperties);
        return connectionFactory().dataSource(conf);
    }
}

出于某种原因,DataSource bean只接收引用池大小和maxWait的属性,而不接收connectionProperties-请参见日志输出:

注意:试图通过Spring的ConnectionConfig类设置connectionProperties也不起作用。

共有1个答案

宇文弘懿
2023-03-14

尝试使用DataSourceConfig的形式,它接受单独的PoolConfigConnectionConfigbean,如下所示:

@Bean
public DataSource dataSource() {
    PoolConfig poolConfig = new PoolConfig(4, 4, 2000);
    ConnectionConfig connectionConfig = new ConnectionConfig("useUnicode=yes;characterEncoding=utf8;");
    DataSourceConfig dbConfig = new DataSourceConfig(poolConfig, connectionConfig);
    return connectionFactory().dataSource(dbConfig);
}
 类似资料:
  • 问题-无法使用Spark Cassandra连接器1.5.0连接Cassandra 3.0 根据DataStax Spark Cassandra Connector文档,它说Spark Connector 1.5可以从Spark 1.5.0/1.6.0用于Cassandra 3.0。 你能告诉我我是不是漏掉了哪一步? 尝试的方法 在“pom.xml”中添加了单独的番石榴依赖项 提前谢了。

  • 我正在尝试推出一个使用STS开发的简单hibernate MYSQL应用程序。Hibernate使用c3P0进行连接池。当我推送应用程序并开始访问它时,我看到与c3P0相关的异常。我在本地测试了它,它运行良好。 ResourcePool无法从其主要工厂或来源获取资源。com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(Basic

  • 这是mysql连接php脚本。它不断地显示出它的错误 警告:mysqli_connect():(HY000/1045):用户'user'@'localhost'(使用密码:YES)在第6行的C:\xampp\htdocs\index.php访问被拒绝 注意:尝试在第7行连接成功的C:\xampp\htdocs\index.php中获取非对象的属性 我听不懂,请帮帮我好吗?

  • 请有人能帮我摆脱这个问题。 以下错误:java.lang.IllegalArgumentException:''在“schema_name”.“table_name”表中不存在。“table_name”表在io.pivotal.greenplum.spark.greenplumRelationProvider.createrelation(GreenplumRelationProvider.sca

  • 首先,我知道有很多类似的问题,但我所看到的似乎都不能解决我的设置(我发现的任何解决方案都不管用)。所以请容忍我。。。 我的服务器主机名是IP地址,而不是域名(即URL看起来像:) 我的服务器有一个真正的证书(即,没有自签名) 我的应用程序的plist条目字典为空(没有任何例外-出厂设置ATS) 这是生产代码,我不能禁用ATS(我也不认为我可以,因为例外只适用于显式域名,而不是IP地址) (iOS9

  • 我正在使用Windows上的Docker来使用本地的postgres数据库。我制作了两个docker容器:一个用于名为pg的数据库,另一个用于名为pgadmin的pgadmin4。检查完pg后,我在172.17.0.3:5432连接了pgadmin4,它工作了。现在该编码了,但是... 我读了很多这样的问题,但我不明白。在我看来,这不像pg_hba中产生的问题。conf,因为在这种情况下,pgad