All Downloads are FREE. Search and download functionalities are using the official Maven repository.

club.zhcs.lina.starter.exception.GlobalExceptionHandlerAutoConfiguration Maven / Gradle / Ivy

package club.zhcs.lina.starter.exception;

import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.annotation.Bean;

import club.zhcs.lina.starter.exception.event.WechatWorkRobotExceptionEventListener;

/**
 * 
 * @author Kerbores([email protected])
 *
 */
@AutoConfiguration
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnExpression("${lina.exception.enabled:true}")
@EnableConfigurationProperties(GlobalExceptionHandlerConfigurationProerties.class)
public class GlobalExceptionHandlerAutoConfiguration {

    @Bean
    GlobalExceptionHandler globalExceptionHandler(ApplicationEventPublisher applicationEventPublisher) {
        return new GlobalExceptionHandler(applicationEventPublisher);
    }

    @Bean
    @ConditionalOnProperty(prefix = "lina.exception.listener.wechat", name = "webhook", matchIfMissing = false)
    WechatWorkRobotExceptionEventListener wechatWorkRobotExceptionEventListener(GlobalExceptionHandlerConfigurationProerties config) {
        return WechatWorkRobotExceptionEventListener.builder().webhook(config.getListener().getWechat().getWebhook()).build();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy