diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/UpmsAutoConfiguration.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/UpmsAutoConfiguration.java
index 46d43ca9..9f67d54f 100644
--- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/UpmsAutoConfiguration.java
+++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/UpmsAutoConfiguration.java
@@ -1,8 +1,13 @@
package com.hccake.ballcat.admin;
+import com.hccake.ballcat.admin.modules.notify.push.MailNotifyPusher;
import com.hccake.ballcat.admin.modules.sys.checker.AdminRuleProperties;
import com.hccake.ballcat.admin.oauth.UserInfoCoordinator;
+import com.hccake.ballcat.common.mail.MailAutoConfiguration;
+import com.hccake.ballcat.common.mail.sender.MailSender;
import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
@@ -18,7 +23,8 @@ import org.springframework.context.annotation.Configuration;
@MapperScan("com.hccake.ballcat.**.mapper")
@ComponentScan
@ServletComponentScan("com.hccake.ballcat.admin.oauth.filter")
-@Configuration
+@Configuration(proxyBeanMethods = false)
+@AutoConfigureAfter(MailAutoConfiguration.class)
@EnableConfigurationProperties(AdminRuleProperties.class)
public class UpmsAutoConfiguration {
@@ -28,4 +34,10 @@ public class UpmsAutoConfiguration {
return new UserInfoCoordinator();
}
+ @Bean
+ @ConditionalOnBean(MailSender.class)
+ public MailNotifyPusher mailNotifyPusher(MailSender mailSender) {
+ return new MailNotifyPusher(mailSender);
+ }
+
}
diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/listener/NotifyPublishEventListener.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/listener/NotifyPublishEventListener.java
index 4b1f0c04..f256063d 100644
--- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/listener/NotifyPublishEventListener.java
+++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/listener/NotifyPublishEventListener.java
@@ -6,6 +6,7 @@ import com.hccake.ballcat.admin.modules.notify.push.NotifyPushExecutor;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
/**
@@ -25,6 +26,7 @@ public class NotifyPublishEventListener {
* 通知发布事件
* @param event the NotifyPublishEvent
*/
+ @Async
@EventListener(NotifyPublishEvent.class)
public void onNotifyPublishEvent(NotifyPublishEvent event) {
NotifyInfo notifyInfo = event.getNotifyInfo();
diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/MailNotifyPusher.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/MailNotifyPusher.java
index 3b7cc3e6..38b9ec64 100644
--- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/MailNotifyPusher.java
+++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/MailNotifyPusher.java
@@ -6,7 +6,6 @@ import com.hccake.ballcat.admin.modules.sys.model.entity.SysUser;
import com.hccake.ballcat.common.mail.model.MailDetails;
import com.hccake.ballcat.common.mail.sender.MailSender;
import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Component;
import java.util.List;
@@ -16,7 +15,6 @@ import java.util.List;
* @author Hccake 2020/12/21
* @version 1.0
*/
-@Component
@RequiredArgsConstructor
public class MailNotifyPusher implements NotifyPusher {
diff --git a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/NotifyPushExecutor.java b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/NotifyPushExecutor.java
index 6820328e..35cc2e82 100644
--- a/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/NotifyPushExecutor.java
+++ b/ballcat-admin/ballcat-admin-core/src/main/java/com/hccake/ballcat/admin/modules/notify/push/NotifyPushExecutor.java
@@ -69,7 +69,7 @@ public class NotifyPushExecutor {
}
catch (Exception e) {
log.error("push notify error in channel:[{}],notifyInfo title:[{}]", notifyChannel,
- notifyInfo.getTitle());
+ notifyInfo.getTitle(), e);
}
}
}
diff --git a/ballcat-admin/ballcat-admin-websocket/src/main/java/com/hccake/ballcat/admin/websocket/PushEventListener.java b/ballcat-admin/ballcat-admin-websocket/src/main/java/com/hccake/ballcat/admin/websocket/PushEventListener.java
index 5037ddb1..5593f01e 100644
--- a/ballcat-admin/ballcat-admin-websocket/src/main/java/com/hccake/ballcat/admin/websocket/PushEventListener.java
+++ b/ballcat-admin/ballcat-admin-websocket/src/main/java/com/hccake/ballcat/admin/websocket/PushEventListener.java
@@ -14,7 +14,9 @@ import com.hccake.ballcat.admin.websocket.message.DictChangeMessage;
import com.hccake.ballcat.common.core.util.JacksonUtils;
import com.hccake.ballcat.common.websocket.WebSocketMessageSender;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
@@ -24,6 +26,7 @@ import java.util.List;
* @author Hccake 2021/1/5
* @version 1.0
*/
+@Slf4j
@Component
@RequiredArgsConstructor
public class PushEventListener {
@@ -34,6 +37,7 @@ public class PushEventListener {
* 字典修改事件监听
* @param event the DictChangeEvent
*/
+ @Async
@EventListener(DictChangeEvent.class)
public void onDictChangeEvent(DictChangeEvent event) {
// 构建字典修改的消息体
@@ -49,6 +53,7 @@ public class PushEventListener {
* 公告关闭事件监听
* @param event the AnnouncementCloseEvent
*/
+ @Async
@EventListener(AnnouncementCloseEvent.class)
public void onAnnouncementCloseEvent(AnnouncementCloseEvent event) {
// 构建字典修改的消息体
@@ -64,6 +69,7 @@ public class PushEventListener {
* 站内通知推送事件
* @param event the StationNotifyPushEvent
*/
+ @Async
@EventListener(StationNotifyPushEvent.class)
public void onAnnouncementPublishEvent(StationNotifyPushEvent event) {
NotifyInfo notifyInfo = event.getNotifyInfo();
diff --git a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/MonitorProperties.java b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/MonitorProperties.java
index a158cf3b..c7d6554b 100644
--- a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/MonitorProperties.java
+++ b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/MonitorProperties.java
@@ -8,7 +8,6 @@ import org.springframework.context.annotation.Configuration;
* @author lingting 2020-10-13 22:39
*/
@Data
-@Configuration
@ConfigurationProperties(prefix = "ballcat")
public class MonitorProperties {
diff --git a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/SecurityProperties.java b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/SecurityProperties.java
index 40d756ea..8ccd186f 100644
--- a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/SecurityProperties.java
+++ b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/config/SecurityProperties.java
@@ -2,13 +2,11 @@ package com.hccake.ballcat.common.conf.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
/**
* @author lingting 2020-10-13 22:39
*/
@Data
-@Configuration
@ConfigurationProperties(prefix = "ballcat.security")
public class SecurityProperties {
diff --git a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/exception/ExceptionHandleAutoConfiguration.java b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/exception/ExceptionHandleAutoConfiguration.java
index 0d9f7dbb..5e156d16 100644
--- a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/exception/ExceptionHandleAutoConfiguration.java
+++ b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/exception/ExceptionHandleAutoConfiguration.java
@@ -14,14 +14,12 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableAsync;
/**
* @author Hccake
* @version 1.0
* @date 2019/10/15 18:20
*/
-@EnableAsync
@RequiredArgsConstructor
@Configuration(proxyBeanMethods = false)
public class ExceptionHandleAutoConfiguration {
diff --git a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/FilterConfig.java b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/FilterConfig.java
index 9ffb15c3..9b5a4fe6 100644
--- a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/FilterConfig.java
+++ b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/FilterConfig.java
@@ -2,11 +2,13 @@ package com.hccake.ballcat.common.conf.web;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hccake.ballcat.common.conf.config.MonitorProperties;
+import com.hccake.ballcat.common.conf.config.SecurityProperties;
import com.hccake.ballcat.common.core.filter.ActuatorAuthFilter;
import com.hccake.ballcat.common.core.filter.XSSFilter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -17,7 +19,8 @@ import org.springframework.context.annotation.Configuration;
* @date 2019/10/17 20:26
*/
@Slf4j
-@Configuration
+@EnableConfigurationProperties({ SecurityProperties.class, MonitorProperties.class })
+@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication
public class FilterConfig {
diff --git a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/WebMvcConfig.java b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/WebMvcConfig.java
index ec6641ea..3f47f362 100644
--- a/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/WebMvcConfig.java
+++ b/ballcat-common/ballcat-common-conf/src/main/java/com/hccake/ballcat/common/conf/web/WebMvcConfig.java
@@ -1,6 +1,7 @@
package com.hccake.ballcat.common.conf.web;
import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -11,6 +12,7 @@ import java.util.List;
* @version 1.0
* @date 2019/10/19 17:10
*/
+@EnableAsync
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
diff --git a/ballcat-common/ballcat-common-conf/src/main/resources/META-INF/spring.factories b/ballcat-common/ballcat-common-conf/src/main/resources/META-INF/spring.factories
index 92ae48fd..80825eca 100644
--- a/ballcat-common/ballcat-common-conf/src/main/resources/META-INF/spring.factories
+++ b/ballcat-common/ballcat-common-conf/src/main/resources/META-INF/spring.factories
@@ -4,7 +4,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.hccake.ballcat.common.conf.exception.ExceptionHandleAutoConfiguration,\
com.hccake.ballcat.common.conf.mybatis.MybatisPlusConfig,\
com.hccake.ballcat.common.conf.web.WebMvcConfig,\
- com.hccake.ballcat.common.conf.config.ExceptionHandleConfig,\
- com.hccake.ballcat.common.conf.config.SecurityProperties,\
- com.hccake.ballcat.common.conf.config.MonitorProperties
+ com.hccake.ballcat.common.conf.config.ExceptionHandleConfig
diff --git a/ballcat-dependencies/pom.xml b/ballcat-dependencies/pom.xml
index 9443b8f6..940a52bd 100644
--- a/ballcat-dependencies/pom.xml
+++ b/ballcat-dependencies/pom.xml
@@ -118,6 +118,11 @@
ballcat-admin-core
${revision}
+
+ com.hccake
+ ballcat-admin-websocket
+ ${revision}
+
com.hccake
ballcat-common-conf
diff --git a/ballcat-samples/ballcat-sample-admin-application/pom.xml b/ballcat-samples/ballcat-sample-admin-application/pom.xml
index 4ea010e0..53c94399 100644
--- a/ballcat-samples/ballcat-sample-admin-application/pom.xml
+++ b/ballcat-samples/ballcat-sample-admin-application/pom.xml
@@ -18,6 +18,10 @@
com.hccake
ballcat-admin-core
+
+ com.hccake
+ ballcat-admin-websocket
+
com.hccake
ballcat-spring-boot-starter-job
diff --git a/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/java/com/hccake/ballcat/common/mail/MailAutoConfiguration.java b/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/java/com/hccake/ballcat/common/mail/MailAutoConfiguration.java
new file mode 100644
index 00000000..aee59763
--- /dev/null
+++ b/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/java/com/hccake/ballcat/common/mail/MailAutoConfiguration.java
@@ -0,0 +1,30 @@
+package com.hccake.ballcat.common.mail;
+
+import com.hccake.ballcat.common.mail.sender.MailSender;
+import com.hccake.ballcat.common.mail.sender.MailSenderImpl;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.mail.javamail.JavaMailSender;
+
+/**
+ * @author Hccake 2021/1/7
+ * @version 1.0
+ */
+@AutoConfigureAfter(MailSenderAutoConfiguration.class)
+@Configuration(proxyBeanMethods = false)
+public class MailAutoConfiguration {
+
+ @Bean
+ @ConditionalOnBean(JavaMailSender.class)
+ @ConditionalOnMissingBean(MailSender.class)
+ public MailSender mailSenderImpl(JavaMailSender javaMailSender,
+ ApplicationEventPublisher applicationEventPublisher) {
+ return new MailSenderImpl(javaMailSender, applicationEventPublisher);
+ }
+
+}
diff --git a/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/resources/META-INF/spring.factories b/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/resources/META-INF/spring.factories
index f7095c95..1f5f7294 100644
--- a/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/resources/META-INF/spring.factories
+++ b/ballcat-starters/ballcat-spring-boot-starter-mail/src/main/resources/META-INF/spring.factories
@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
- com.hccake.ballcat.common.mail.sender.MailSenderImpl
+ com.hccake.ballcat.common.mail.MailAutoConfiguration
diff --git a/ballcat-starters/ballcat-spring-boot-starter-websocket/src/main/java/com/hccake/ballcat/common/websocket/config/WebSocketProperties.java b/ballcat-starters/ballcat-spring-boot-starter-websocket/src/main/java/com/hccake/ballcat/common/websocket/config/WebSocketProperties.java
index 196c200e..7582d9cc 100644
--- a/ballcat-starters/ballcat-spring-boot-starter-websocket/src/main/java/com/hccake/ballcat/common/websocket/config/WebSocketProperties.java
+++ b/ballcat-starters/ballcat-spring-boot-starter-websocket/src/main/java/com/hccake/ballcat/common/websocket/config/WebSocketProperties.java
@@ -39,6 +39,6 @@ public class WebSocketProperties {
/**
* 是否开启对session的映射记录
*/
- private boolean mapSession = false;
+ private boolean mapSession = true;
}