Carlos Alberto
Carlos Alberto

Reputation: 8605

How to load an external property file to Spring Boot in Wildfly

I wonder how can I load an external property of my application running inside Wildfly 9 as WAR, I tried to add a java parameter to Wildfly execution but it seems the application did not recognize the properties.

-Dspring.config.location=file:///C:\Temp\config\application.properties,classpath:application.properties

Is there any way how Spring Boot could read the external property file? I am trying to load and run one Spring Boot application as WAR inside Wildfly.

I'd appreciate any help.

Thanks.

Upvotes: 7

Views: 8824

Answers (3)

greg
greg

Reputation: 342

I know it's a bit late for the answer, but maybe this helps:

  • Within your deployment-descriptor (web.xml), create environment-variables pointing to the spring config location file, i.e.

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
               version="3.0">
          <env-entry>
              <env-entry-name>spring.config.location</env-entry-name>
              <env-entry-type>java.lang.String</env-entry-type>
              <env-entry-value>file:[path-to-file]/[your-properties-file] 
    </env-entry-value>
          </env-entry>
      </web-app>
    

Working on Wildfly 25.0.0

Upvotes: 0

Rogerio A. Valente
Rogerio A. Valente

Reputation: 23

If your springboot application is running inside Wildfly you don't need to read standalone.xml as an external file.

Get the property value directly with System.getProperty(PROPERTY_NAME);

Upvotes: 0

Benjamin Sch&#252;ller
Benjamin Sch&#252;ller

Reputation: 2199

In my linux system i have an entry in the standalone.xml:

<system-properties>
    <property name="spring.config.location" value="file:/opt/jboss/wildfly/standalone/configuration/"/>
</system-properties>

I just defined the directory here, so it has to end with an "/".

In the directory "/opt/jboss/wildfly/standalone/configuration/" there is my application.yml.

Upvotes: 10

Related Questions