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

IllegalArgumentException:driverClassName需要jdbcUrl

王杰
2023-03-14
@Bean
private DataSource getDataSource() {
    return DataSourceBuilder.create()
          .driverClassName("org.postgresql.Driver")
          .url(environment.getProperty(VAR_URL)) // Error thrown here
          .username(environment.getProperty(VAR_NAME))
          .password(environment.getProperty(VAR_PASSWORD))
          .build();
server:
  port: 8080
spring:
  application:
    name: my-app
  profiles:
    active: dev
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
    show-sql: true
    open-in-view: true
  datasource:
    url:
    username:
    password:
    driver-class-name: org.postgresql.Driver

  quartz:
    properties:
      org.quartz.jobStore.isClustered: true
      org.quartz.scheduler.instanceId: AUTO
      org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
      org.quartz.scheduler.instanceName: my-scheduler
      org.quartz.threadPool.threadCount: 3
      org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
      org.quartz.jobStore.useProperties: true
      org.quartz.jobStore.misfireThreshold: 60000
      org.quartz.jobStore.tablePrefix: qrtz_
      org.quartz.plugin.shutdownHook.class: org.quartz.plugins.management.ShutdownHookPlugin
      org.quartz.plugin.shutdownHook.cleanShutdown: TRUE
    jdbc:
      initialize-schema: always
    job-store-type: jdbc

我漏掉什么了吗?请建议是否有更好的方法做这件事。谢谢你。

共有1个答案

周阳波
2023-03-14

您基本上是在重写Spring-Boot的自动配置,以便配置这个调度程序的数据源。这就是为什么它可以在没有quartz调度器的分支上工作(我想该分支中没有@bean私有数据源getDataSource())。

必须使用@value才能从application.yml检索数据库属性

例如。

@Value("${spring.datasource.url}")
private String databaseUrl;

@Value("${spring.datasource.username}")
private String username;

@Value("${spring.datasource.password}")
private String password;

//and then use these strings in your getDataSource()

@Bean
private DataSource getDataSource() {
    return DataSourceBuilder.create()
          .driverClassName("org.postgresql.Driver")
          .url(environment.getProperty(databaseUrl)) // Error thrown here
          .username(environment.getProperty(username))
          .password(environment.getProperty(password))
          .build();
 类似资料:
  • 问题内容: 有人有吗? 问题答案: 它是双冒号运算符(请参阅解析器标记列表)。

  • 问题内容: 我已经在x64 Windows7上使用python2.6成功安装了matplotlib。当我尝试导入matplotlib时,它显示以下错误。我还通过以下链接安装了numpy:使用Python2.7.3在64位Windows 7上安装Numpy 我该如何运作? 我从http://matplotlib.org/downloads.html安装了matplotlib-1.3.0.win- a

  • 我正在尝试使用JOLT合并标签数组 这是输入和预期输出 输入JSON: 预期产出如下 提前感谢!

  • 我试图理解Android的意图机制,对一个我想解决的问题感到困惑。 Android为intent提供了动作数据类别 我想问为什么数据是URI 为什么一切都不能成为一种行为和行为的范畴? URI有什么价值 我问所有这些也是因为当我看到像电话、消息和地图这样的应用程序时,他们都试图使用URI来获取一些可能通过EXTRAS获得的数据。 有人请帮我澄清Android意图机制的设计方面。

  • 需要工具 Mac: 终端1 FileZilla(用于传输文件) SecureCRT(用于 使用SSH 登录服务器) PC: WinSCP (用于传输文件) SecureCRT (用于 使用SSH 登录服务器) 登录服务器实例 使用ssh 命令登录,然后输入该实例的 root 用户的密码 ssh root@实例的公网IP 磁盘初始化 列出所有安装的磁盘及分区信息 fdisk -l 如上图所示,目前实