根据Spring Boot documentation about Externalized configuration,我尝试将JNDI变量加载到我的yml配置文件中,如下所示:
spring:
# Show or not log for each sql query
jpa:
show-sql: java:global/bc-api-immop/hibernate/show_sql
它不起作用。
我也试过这个:
spring:
# Show or not log for each sql query
jpa:
show-sql
jndi-name: java:global/bc-api-immop/hibernate/show_sql
但是,结果仍然相同。 你知道我做错了吗?
听起来很奇怪,我也有这个代码,它有效:
spring:
# Set here configurations for the database connection
datasource:
jndi-name: java:jboss/datasources/bc-appli-as400-ds
编辑:当我这样做时,它适用于(所以我的问题实际上来自获取我的JNDI变量):
spring:
# Show or not log for each sql query
jpa:
show-sql: true
答案 0 :(得分:1)
你写yaml的方式是真正的问题
一般概念是FeedbackAfter
因此,通过编写key: value
春季启动期望show-sql
或true
的值显示在Appendix A. Common application properties上,因此这是正常的您的属性配置失败,我很确定它会显示在您的日志文件中的某个位置。
在您编写false
的第一个示例中,您实际上正在回答问题" 我应该向您展示生成的SQL语句"使用" 嗨spring boot这是你的数据源"我们都明白这一点不会让人感到弹跳:)
另一方面,你的最后陈述是正确的。您正在yaml集合项show-sql: java:global/bc-api-immop/hibernate/show_sql
下定义属性datasource
,其值为jndi-name:
我还建议花10分钟阅读这篇文章Learn X in Y minutes
所以正确的方法可能是
java:jboss/datasources/bc-appli-as400-ds
如果我可以帮助您,请告诉我