问题标签 [application.properties]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring Cloud 复合 bootstrap.yml
有没有办法bootstrap.yml
从多个yaml
文件“构建”?
这是我的场景,我有一堆micro-services
并且每个服务都具有相同的bootstrap.yml
属性 expect spring.application.name
。
我想将我的bootstrap.yml
文件分成两个文件,base-bootstrap.yml
其中包含配置服务配置,如 URI、密码……等,然后bootstrap.yml
可以包含spring.application.name
或其他任何内容。
base-bootstrap.yml
文件可以在某些依赖项 jar 中外部化,并且应该像默认值一样使用,bootstrap.yml
应该覆盖任何值。这是一些示例:
base-boostrap.yml
引导程序.yml
谁能指导我怎么做?
java - Spring Boot 无法从数据源确定 jdbc url
我正在使用 spring boot 构建一个应用程序,需要通过服务而不是 sid 连接到 Oracle DB。
这些是数据源设置:
我已经探讨了关于 tns 连接的其他两个响应: Connection to Oracle via TNS is not working 和 How to connect JDBC to tns oracle
但我遇到了一个不同的错误:
org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获取 JDBC 连接;嵌套异常是 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:339) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] 处的 java.sql.SQLException。 springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:366) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup .getDatabase(DatabaseLookup.java:72) ~[spring-boot-autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.JpaProperties.determineDatabase(JpaProperties.爪哇:java:360) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.9.RELEASE .jar:1.5.9.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 在 org.springframework。 boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] at com.swift.cpms.CpmsWebApp.main(CpmsWebApp.java:18) [类/:na] 原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获得 JDBC 连接;嵌套异常是 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] 的 java.sql.SQLException。弹簧框架。
如果我切换到调试模式,我会得到更多详细信息,并且紧随其后会发生异常:
2018-03-01 15:34:21.435 调试 44920 --- [主] osjdbc.datasource.DataSourceUtils:从数据源获取 JDBC 连接 2018-03-01 15:34:21.446 调试 44920 --- [
主] oatomcat.jdbc .pool.PooledConnection :使用类实例化驱动程序:oracle.jdbc.driver.OracleDriver [url=jdbc:oracle:thin:@//exa22-scan8.swift.corp:1500/cpmsdev_usr.swift.com] 2018-03-01 15:34:21.447 调试 44920 --- [main] oatomcat.jdbc.pool.ClassLoaderUtil:尝试从 sun.misc.Launcher$AppClassLoader@659e0bfd 加载类 [oracle.jdbc.driver.OracleDriver]
我使用相同的 URL、service_name 和凭据连接到 sqldeveloper 中的 DB,并且可以确认该部分是正确的。我还尝试了上述链接设置中建议的选项
并设置 url @service_name 具有相同的结果
我完全不知道它的原因是什么 - 语法不正确还是其他什么?有没有其他人有任何建议可能导致它以及可能的解决方案是什么?
pom.xml 依赖项
感谢任何建议或帮助!
mysql - 防止在 mysql DB 中创建 Spring 批处理元数据表
我正在使用 Spring Batch 3.0.7。可以防止在 DB 中创建元数据表。
在我的应用程序中,默认情况下,org/springframework/batch/core/schema-mysql.sql 文件代码是 Spring Batch 严格的。
我如何防止执行此文件,使其不会在生产数据库中创建元数据表。
如果不创建元数据表是不可能的,那么我怎么能指向不同的 2 个数据库,所以我将在本地数据库中创建元数据表,这样在生产数据库中任何元数据表都不会创建。
我们如何在 Application.properties 文件中为 2 个不同的 DB 进行配置。
- 一种用于创建元数据创建数据库。
另一个是生产数据库,我可以在其中获取记录。
20:37:21.898 INFO 8280 --- [main] osjdbc.datasource.init.ScriptUtils:从类路径资源 [org/springframework/batch/core/schema-mysql.sql] 2018-03-06 20 执行 SQL 脚本: 37:25.987 INFO 8280 --- [main] osjdbc.datasource.init.ScriptUtils:在 4089 毫秒内从类路径资源 [org/springframework/batch/core/schema-mysql.sql] 执行 SQL 脚本。2018-03-06 20:37:26.138 INFO 8280 --- [main] osbabJobLauncherCommandLineRunner:运行默认命令行:[] 2018-03-06 20:37:26.138 INFO 8280 --- [main] osbcrsJobRepositoryFactoryBean:没有数据库类型集,使用元数据指示:MYSQL 2018-03-06 20:37:26.546 INFO 8280 --- [main] osbclsupport.SimpleJobLauncher:未设置 TaskExecutor,默认为同步执行程序。
spring - Spring Boot Flyway 迁移占位符
有人可以显示在 Flyway 迁移中使用 application.properties 配置的正确格式吗?
我想在我的 application.properties 文件中使用数据源配置的用户名来授予对数据库表的权限(使用 Flyway 进行数据库迁移,用户名最终会因环境而异),但是我找不到语法示例.
示例 application.properties:
移民:
我尝试了各种迭代(flyway.placeholders.spring.datasource.username,尝试不指定前缀:spring.flyway.placeholder-prefix=)但没有运气。
spring - 使用属性占位符表达式将属性文件中的 String[] 加载到 @CrossOrigin 的 origins 字段中
在我的 Spring Boot 应用程序中,我有以下控制器
该属性app.api.settings.cross-origin.urls
已经是在application.properties文件中具有逗号分隔的有效 URL 的键,例如
app.api.settings.cross-origin.urls=http://localhost:3000, http://localhost:7070
这种方法一直有效,直到我只有一个值,比如
app.api.settings.cross-origin.urls=http://localhost:3000
但不适用于逗号分隔值。里面的origins
字段仍然@CrossOrigin
是类型String[]
,它不会String[]
自动转换为。我的意思是应该有一些方法来实现框架提供的这一点。不是解决方法。我可以使用逗号分隔的 url 从属性文件中使用@Value
到 aList<String>
或String[]
作为@Configuration
类中的字段,如下所示
但这将是一个具有应用程序广泛适用性的全局配置。我想坚持更细粒度@CrossOrigin
的基于注释的 CORS 配置。
所以我把我的问题清楚地放在下面。
是否可以将属性文件中的逗号分隔值作为String[]
使用属性 plcaholer 表达式 ( ${*}
) 注入具有相同类型的 spring 注释字段中,即String[]
????? 如果是那么如何???如果没有,那么我们可以调整一些核心框架类来实现这个吗???任何人请帮助....
PS - 请不要将我的问题标记为在 Java 中使用 CrossOrigin 注释或 Spring-Config XML 中的重复使用 Spring 属性
我的问题更多是关于在 spring 注释字段中使用属性占位符表达式,这些字段具有多元素类型,String[]
而不是关于 spring 应用程序中 CORS 的配置。
spring - 如何从 application.properties 读取并在 Spring Batch 中设置为作业参数
我想从我的 application.properties 中读取 Spring Batch 应用程序的输入和输出路径,并将它们设置为 jobParametersBuilder,这样我就可以在整个作业执行过程中访问它们(将它们分配给读取器和写入器)。
我能够从其他配置类中的 application.properties 中读取,但我似乎无法在我的主类中实现它。我需要在此处执行此操作,以便能够在执行作业之前将值分配给作业参数。
我的主要课程:
我的application.properties文件:
我也尝试过为输入和输出做一个单独的配置类,但我不明白如何从我的主类中调用它:
入出配置:
我得到 inputPath = null 和 outputPath = null。
java - 如何将heroku config var传递给spring boot的application.properties?
我正在尝试将自定义 heroku 配置变量传递给 application.properties 但没有传递任何值。
我的 application.properties 条目:
然后我将此值注入 String 变量:
但是当我尝试使用它时 SENDER_MAIL_USERNAME 是一个空字符串。
我可以像这样得到正确的值:
但这不是我要找的。任何人都知道我在这里做错了什么?
编辑:
也许值得补充的是,我的项目使用 maven 和 2 个模块(后端和前端)。简化的项目结构如下所示:
我还使用包含以下内容的 Procfile:
其中 $PATH_TO_JAR 是具有值的 heroku 配置变量:
spring-boot - Spring Boot management.trace.include 配置示例
春季启动在这里。management.trace.include
可以为 中的属性指定哪些可能的值,application.properties
该属性的默认值是什么,以及所有这些记录在哪里(专业提示:不是!)?
java - Spring Boot application.properties 生命周期
我有一个大型 Spring Web 应用程序,可以追溯到几年前。我需要将其更新为 Spring Boot(企业要求)。我的进展顺利 - 它开始了(!),尽管注入的属性存在一些问题,这会导致应用程序失败。
具体来说,每个配置文件有三个巨大的配置文件,例如qa_config.properties
, 。目前我只关心,我已将其重命名为 Spring Boot 的首选名称,和qa_ehcache.xml
qa_monitoring.properties
qa_config.properties
application-qa.properties
application-qa_monitoring.properties
该应用程序有许多用@Named
(来自 javax.ws.rs-api )注释的类,它们很早就加载了 - 太早了,我需要在构造函数中注入属性:
属性文件:
和
我的问题:我希望在加载类之前尽快将两者都放在上下文中application-qa.properties
。application-qa_monitoring.properties
@Named
为了实现这一点,我正在运行具有活动配置文件的应用程序qa
,它成功地将该组属性添加到上下文中。
我将此行添加到application.properties
文件中,以确保加载其他属性:
当我运行 Spring Boot 应用程序时,输出告诉我
调试Foo
类时, 的值bar
是正确的
但是, 的值为qux
空。
我是否遗漏了有关加载属性文件的顺序的信息?我原以为输入的include
行application.properties
足以在很早的时候“压平”这两个文件,如果一个在上下文中,那么两个文件都应该可用吗?
相反,我可以做的只是将两个属性文件中的所有变量合二为一,application-qa.properties
但如果可能的话,我希望将它们分开并尽可能接近原始结构。
spring-boot - 如何在 application.properties 中加载自定义属性
在 spring boot 中,有一个属性文件 application.property,除了这个属性,我还创建了一个名为 myownprop.properties 的额外属性文件。
我怎样才能myownprop.properties
加载application.property
?意味着如何在 application.properties 中包含另一个命名属性?
任何更新 ?