首页 文章

配置JNDI Spring启动应用程序

提问于
浏览
0

我正在使用Spring启动应用程序,其中使用application.properties中的以下属性完成数据的默认配置:

spring.datasource.driverClassName=${datasource.driver.className}
spring.datasource.url=${datasource.url}
spring.datasource.username=${datasource.username}
spring.datasource.password=${datasource.password}

问题是,当我通过本地maven运行spring boot run命令时,这很有效,但是我需要以这样的方式配置事物:当我尝试使用maven构建来创建war时,配置会将JNDI名称设置为:

spring.datasource.jndi-name=java:jboss/datasources/

我可以通过maven或任何其他方式使其可配置,当我们通过Spring引导部署它时,它选择了4个以上的属性,当我们创建一个war时,它只选择JNDI属性 .

-Vaibhav

1 回答

  • 0

    您可以使用Spring配置文件 . 例如,创建一个名为 application-local.properties 的文件并向其添加前四个属性:

    # application-local.properties
    spring.datasource.driverClassName=${datasource.driver.className}
    spring.datasource.url=${datasource.url}
    spring.datasource.username=${datasource.username}
    spring.datasource.password=${datasource.password}
    

    然后创建另一个文件名 application-jndi.properties

    # application-jndi.properties
    spring.datasource.jndi-name=java:jboss/datasources/
    

    现在,您所要做的就是在本地运行时将VM参数 -Dspring.profiles.active=local (或添加 SPRING_PROFILES_ACTIVE=local 环境变量)添加到命令,并在需要使用JNDI运行时添加 -Dspring.profiles.active=jndi .

    这也不困难 . 您还可以将其中一个配置属性设置为默认值(在 application.properties 中),这样您就不必配置配置文件了 .

相关问题