首页 > 解决方案 > Weblogic 10.3.6:从 web.xml 激活 Spring Boot 配置文件

问题描述

我在 weblogic 10.3.6 上使用 Spring Boot;但是我们通常在开发过程中使用嵌入式tomcat。

我想在 weblogic 上启用特定的 Spring 配置文件,以适应在 wl 上使用的不同配置/bean。由于我被迫在那个古老版本的应用程序服务器上使用 web.xml,我想使用 web.xml 来激活我需要的 weblogic 配置文件。

这是我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>my.class.annotated.with.SpringBootApplication</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextAttribute</param-name>
            <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

到目前为止,我已经看到建议使用

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>weblogic</param-value>
</context-param>

或者

<init-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>weblogic</param-value>
</init-param>

在 DispatcherServlet 配置中。

我什至尝试配置一个 ApplicationContextInitializer,但 SpringBootContextLoaderListener 提供了他自己的初始化程序。

有没有合适的方法来完成我想要的?我不能将 weblogic 配置放在主 application.yml 中,因为这会破坏我们用于开发的嵌入式 tomcat 配置。

标签: javaspring-bootweblogic-10.x

解决方案


推荐阅读