how para empaquetar la aplicación springboot con puntos finales dinámicos en el archivo application.properties

Tengo 1 aplicación de arranque de primavera. En esta aplicación, he configurado 1 sistema de comercio electrónico como ruta elástica (Configure la url del punto final de la ruta elástica en el archivo application.properties). Ahora tengo que dar mi aplicación de arranque de primavera a otros muchachos. que se implementará en el servidor tomcat. No quiero dar el código fuente. Así que puedo hacer el archivo de guerra, pero ahora el problema es que tienen su propio comercio electrónico de ruta elástica y quieren configurar su propio comercio electrónico.

Deseo externalizar algunas propiedades que anularán la propiedad existente.

Mi aplicación springboot tiene 2 módulos: 1) módulo elasticpath que tiene elasticpath-application.properties 2) salesforce - salesforce-application.properties

Ahora tengo que externalizar el archivo "C: \ apache-tomcat-8.5.29 \ conf \ ep-external.properties" que anulará la propiedad existente. Ahora el problema es que @PropertySource se está cargando en la última posición. Por lo tanto, mi archivo externo no puede anular la propiedad.

@SpringBootApplication
@PropertySource(value = {"classpath:application.properties", "classpath:elasticpath-application.properties", "classpath:salesforce-application.properties")
public class SpringBootDemo extends SpringBootServletInitializer implements CommandLineRunner {
private static final Logger LOG = LoggerFactory.getLogger(SpringBootDemo.class);
    private ServletContext servletContext;

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        //application = application.properties("file:C:\\apache-tomcat-8.5.29\\conf\\ep-external.properties");
        return application.sources(SpringBootDemo.class);
    }

    @Override
       public void onStartup(ServletContext servletContext) throws ServletException {
           this.servletContext = servletContext;
           super.onStartup(servletContext);
       }

    public static void main(String[] args) {
        SpringApplication.run(SpringBootDemo.class, args);
    }   

    @Override
    public void run(String... args) throws Exception {
    }

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta