如何在weblogic上运行spring boot
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在weblogic上运行spring boot相关的知识,希望对你有一定的参考价值。
参考技术A Spring Boot 是 Spring 产品中一个新的子项目,致力于简便快捷地搭建基于 Spring 的独立可运行的应用。大多数的 Spring Boot 应用只需要非常少的 Spring 配置。你能够使用 Spring Boot 创建 Java 应用并通过 java -jar 来运行或者创建传统的通过 war 来部署的应用。Spring Boot 也提供了一个命令行工具来运行 spring 脚本。
Spring Boot 的目标是:
快速开发基于 Spring 的应用
开箱即用的微服务
提供一些大型项目常用的非功能性特性,例如:嵌入式服务、安全、监控、健康检查、外部配置
不用生成代码,没有 xml 配置本回答被提问者采纳
Spring Boot 过滤器顺序:WebLogic 12c vs Tomcat 8
【中文标题】Spring Boot 过滤器顺序:WebLogic 12c vs Tomcat 8【英文标题】:Spring Boot filter order: WebLogic 12c vs Tomcat 8 【发布时间】:2016-11-04 20:52:09 【问题描述】:我正在用 Spring Boot 编写一个 Web 应用程序,它有一个过滤器,必须在 spring 的安全过滤器之后执行。
我已经通过 java config 配置了我的过滤器链,并将我的自定义过滤器的顺序设置为高于 spring security 的值。这在 Tomcat 上运行应用程序时按预期工作;但是,这在 WebLogic 12c 中不起作用。 WebLogic 执行过滤器链的方式与 Tomcat 的执行方式相反(反之亦然)。
以前有人遇到过这种特殊的怪癖吗?有没有办法让 WebLogic 像 Tomcat 一样工作?
我的代码:
final FilterRegistrationBean registration = new FilterRegistrationBean(new MyFilter());
registration.setOrder(-99); // spring security's is -100
在 Tomcat 上,此 MyFilter 在安全过滤器之后触发。在 WebLogic 中,MyFilter 在安全过滤器之前触发。例如,如果我将setOrder
的值更改为-101,那么它将适用于WebLogic,但不适用于Tomcat。
我想根据上下文在两个应用服务器上运行该应用程序,因此我需要弄清楚如何实现这一点。
【问题讨论】:
我想我以前见过这个,结果证明是 Weblogic 中的一个错误 将 setOrder 值作为基于配置文件的参数传递以解决问题? profile-localhost' 是 tomcat verse profile-uat 是 weblogic。 嗨,布赖恩。我的团队早就离开了 WebLogic,但我们最终确定的修复与您的建议类似。我们只是定义了一个标志application.fix-weblogic-filter-order=true
,它在启动时反转了整个过滤器堆栈的顺序。感谢您的评论!
【参考方案1】:
WebLogic 中有一个错误:“20493506 : WLS 12.1.2 - Servlet 3 addFilter 添加过滤器的顺序错误”。
一年多以前,Spring Boot 团队是made aware of this。不幸的是,Spring Boot 对此无能为力。希望 15 个月以上的时间足以让 Oracle 发布可应用于 Weblogic 安装的修复程序。
【讨论】:
谢谢。 support.oracle.com/epmos/faces/DocContentDisplay?id=1996257.1,适用于任何拥有 Oracle 支持帐户的人。【参考方案2】:不确定补丁是否可用或我们的运营团队尚未应用它,但它对我们来说仍然是坏的。 This 是我想出的解决方案。
【讨论】:
以上是关于如何在weblogic上运行spring boot的主要内容,如果未能解决你的问题,请参考以下文章
使用 spring-boot 和 Weblogic 公开 SOAP Webservice
Spring Boot - WebLogic 上的 Angular 5 集成
Spring Boot App 部署到 Weblogic 12c 并且无法启动
Spring boot 2 + log detail 日志不起作用,有Logback、Hibernate + Weblogic