SpringBoot項目部署在weblogic中間件的註意事項說明

SpringBoot項目部署在weblogic中間件的註意事項

1、SpringBoot項目Tomcat部署無需手動配置web.xml

但是使用weblogic部署項目時需配置所有相關的監聽器和過濾器等。

<?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>com.cebbank.CebbankLoansMeetingApplication</param-value>
	</context-param>
 
	<listener>
		<listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
	</listener>
 
	<listener>
		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
	</listener>
 
	<filter>
		<filter-name>characterEncoding</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>characterEncoding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- <filter>
		<filter-name>metricFilter</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>metricFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping> -->
 
	<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>

2、隻配置web.xml配置文件

部署在weblogic上會失敗,需另外配置一個weblogic.xml文件(跟web.xml在同一目錄)

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
    xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    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/ejb-jar_3_0.xsd
        http://xmlns.oracle.com/weblogic/weblogic-web-app
        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
    <wls:container-descriptor>
        <wls:prefer-application-packages>   
            <wls:package-name>org.slf4j</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
     <wls:context-root>/</wls:context-root>
     <wls:virtual-directory-mapping>
     		<wls:local-path>d:/</wls:local-path>
     	 	<wls:url-pattern>/recordings/*</wls:url-pattern>
     </wls:virtual-directory-mapping>
</wls:weblogic-web-app> 

註意:<wls:virtual-directory-mapping>為虛擬目錄相關配置,可用來保存上傳的資源,可作為靜態資源直接訪問

weblogic部署springboot項目中的問題

設置步驟

一、修改setDomainEnv.cmd文件

地址為 XX\user_projects\domains\域名\bin

修改內容:

添加代碼段如下(位置建議在圖中所示位置):

set debugFlag=true

如圖所示

二、啟動weblogic

在命令行上看到Listening for transport dt_socket at address:8453,說明weblogic的debug模式已經啟動。

三、eclipse設置

打開Debug Configuration,選擇“Remote Java Application”,右鍵—>new創建一個Debug應用 。

  • Name:隨便起,方便記憶
  • Project:調試的目標工程
  • Connection Type:==選中“Standard (Socket Attach)” ==
  • Host:weblogic:地址
  • port:weblogic:調試端口,默認8453

debug configuration設置

四、點擊Debug按鈕進入調試視圖,可以開始調試程序瞭

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: