From bde0c065b9917dafde2737a57389a8a1c6892fe5 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 22 五月 2023 09:43:15 +0800
Subject: [PATCH] 修改FormulaServiceImpl中出现main函数打包失败问题
---
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java
index e69de29..7fedeb5 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ApplicationContextProvider.java
@@ -0,0 +1,99 @@
+package com.vci.ubcs.starter.web.util;
+
+import com.vci.ubcs.starter.web.config.AppAutoConfigure;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * spring鐨勪笂涓嬫枃宸ュ叿锛�
+ * 娉ㄦ剰springmvc涓殑controller涓嶅簲璇ュ湪杩欓噷鑾峰彇锛屽洜涓簊pringmvc鍙簲璇ヨ鍓嶇璋冪敤
+ * 娌℃湁浣跨敤springboot鐨刴ain鍑芥暟閲岃缃苟鑾峰彇鏄洜涓哄彲鑳戒細璁╁涓湇鍔″悎骞跺埌涓�璧峰惎鍔�
+ * @author weidy
+ * @date 2019/10/31 9:02 AM
+ */
+@RestController
+@RequestMapping("/application")
+public class ApplicationContextProvider implements ApplicationContextAware {
+
+ /**
+ * 鏈嶅姟鐨勯厤缃�
+ */
+ @Autowired
+ private AppAutoConfigure appAutoConfigure;
+
+ /**
+ * 搴旂敤鐨勪笂涓嬫枃
+ */
+ private static ApplicationContext applicationContext ;
+
+ /**
+ * 璁剧疆搴旂敤鐨勪笂涓嬫枃
+ * @param applicationContext 涓婁笅鏂�
+ * @throws BeansException 鍑虹幇閿欒鏃堕渶瑕佹姏鍑哄紓甯哥粰spring瀹瑰櫒
+ */
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ ApplicationContextProvider.applicationContext = applicationContext;
+ }
+
+ /**
+ * 鑾峰彇搴旂敤鐨勪笂涓嬫枃
+ * @return 涓婁笅鏂�
+ */
+ public static ApplicationContext getApplicationContext() {
+ return applicationContext;
+ }
+
+ /**
+ * 鑾峰彇瀵硅薄
+ * @param name bean鐨勫悕绉�
+ * @return Object bean鐨勫璞�
+ * @throws BeansException 濡傛灉涓嶅瓨鍦ㄤ細鎶涘嚭寮傚父
+ */
+ public static Object getBean(String name) throws BeansException {
+ return applicationContext.getBean(name);
+ }
+
+ /**
+ * 鑾峰彇瀵硅薄
+ * @param c bean鐨勬帴鍙g被
+ * @param <T> bean鎵�灞炵被鐨勭被鍨�
+ * @return bean瀵硅薄
+ * @throws BeansException 濡傛灉涓嶅瓨鍦ㄤ細鎶涘嚭寮傚父
+ */
+ public static <T> T getBean(Class<T> c) throws BeansException{
+ return applicationContext.getBean(c);
+ }
+
+ /**
+ * 鍏虫満
+ * @return 鎵ц瀹屾垚
+ */
+ @PostMapping("/shutDownContext")
+ public R shutDownContext(String privateKey){
+ if( appAutoConfigure.getPrivateTokenKey().equalsIgnoreCase(privateKey)) {
+ ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) applicationContext;
+ ctx.close();
+ return R.success("鍏抽棴鏈嶅姟鎴愬姛");
+ }else{
+ return R.fail("鎮ㄦ病鏈夋潈闄愬叧闂湇鍔�");
+ }
+ }
+
+ /**
+ * 妫�鏌ユ槸鍚﹀畬鎴�
+ * @return 璋冪敤灏辫鏄庢垚鍔熶簡
+ */
+ @PostMapping("/checkOnline")
+ public R checkOnline(){
+ return R.success("鍚姩瀹屾垚");
+ }
+
+}
--
Gitblit v1.9.3