mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-07 09:29:08 +08:00
重命名springUtil为SmsSpringUtil防止bean冲突
This commit is contained in:
parent
4ac277ed90
commit
cf968cd6d0
@ -1,13 +1,13 @@
|
|||||||
package org.dromara.sms4j.api.universal;
|
package org.dromara.sms4j.api.universal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RedisUtil
|
* SmsRedisUtil
|
||||||
* <p> redis工具接口,用户可自主实现以更换redis的来源
|
* <p> redis工具接口,用户可自主实现以更换redis的来源
|
||||||
*@since 2.2.0
|
*@since 2.2.0
|
||||||
* @author :Wind
|
* @author :Wind
|
||||||
* 2023/6/6 22:21
|
* 2023/6/6 22:21
|
||||||
**/
|
**/
|
||||||
public interface RedisUtil {
|
public interface SmsRedisUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setOrTime
|
* setOrTime
|
||||||
@ -2,7 +2,7 @@ package org.dromara.sms4j.solon.aop;
|
|||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.smsProxy.RestrictedProcess;
|
import org.dromara.sms4j.api.smsProxy.RestrictedProcess;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.dromara.sms4j.comm.config.SmsConfig;
|
import org.dromara.sms4j.comm.config.SmsConfig;
|
||||||
import org.dromara.sms4j.comm.exception.SmsBlendException;
|
import org.dromara.sms4j.comm.exception.SmsBlendException;
|
||||||
import org.dromara.sms4j.comm.utils.SmsUtil;
|
import org.dromara.sms4j.comm.utils.SmsUtil;
|
||||||
@ -11,13 +11,13 @@ import org.noear.solon.core.AopContext;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class SolonRestrictedProcess extends RestrictedProcess {
|
public class SolonRestrictedProcess extends RestrictedProcess {
|
||||||
|
|
||||||
private RedisUtil redis;
|
private SmsRedisUtil redis;
|
||||||
private static final Long minTimer = 60 * 1000L;
|
private static final Long minTimer = 60 * 1000L;
|
||||||
private static final Long accTimer = 24 * 60 * 60 * 1000L;
|
private static final Long accTimer = 24 * 60 * 60 * 1000L;
|
||||||
private static final String REDIS_KEY = "sms:restricted:";
|
private static final String REDIS_KEY = "sms:restricted:";
|
||||||
|
|
||||||
public SolonRestrictedProcess(AopContext context){
|
public SolonRestrictedProcess(AopContext context){
|
||||||
context.getBeanAsync(RedisUtil.class, bean->{
|
context.getBeanAsync(SmsRedisUtil.class, bean->{
|
||||||
redis = bean;
|
redis = bean;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ package org.dromara.sms4j.solon.config;
|
|||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.smsProxy.SmsInvocationHandler;
|
import org.dromara.sms4j.api.smsProxy.SmsInvocationHandler;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.dromara.sms4j.comm.config.SmsBanner;
|
import org.dromara.sms4j.comm.config.SmsBanner;
|
||||||
import org.dromara.sms4j.comm.config.SmsConfig;
|
import org.dromara.sms4j.comm.config.SmsConfig;
|
||||||
import org.dromara.sms4j.comm.config.SmsSqlConfig;
|
import org.dromara.sms4j.comm.config.SmsSqlConfig;
|
||||||
@ -11,7 +11,7 @@ import org.dromara.sms4j.comm.delayedTime.DelayedTime;
|
|||||||
import org.dromara.sms4j.comm.factory.BeanFactory;
|
import org.dromara.sms4j.comm.factory.BeanFactory;
|
||||||
import org.dromara.sms4j.core.SupplierSqlConfig;
|
import org.dromara.sms4j.core.SupplierSqlConfig;
|
||||||
import org.dromara.sms4j.solon.aop.SolonRestrictedProcess;
|
import org.dromara.sms4j.solon.aop.SolonRestrictedProcess;
|
||||||
import org.dromara.sms4j.solon.utils.RedisUtils;
|
import org.dromara.sms4j.solon.utils.SmsRedisUtils;
|
||||||
import org.noear.solon.Solon;
|
import org.noear.solon.Solon;
|
||||||
import org.noear.solon.Utils;
|
import org.noear.solon.Utils;
|
||||||
import org.noear.solon.annotation.*;
|
import org.noear.solon.annotation.*;
|
||||||
@ -82,8 +82,8 @@ public class SmsAutowiredConfig implements LifecycleBean {
|
|||||||
/* 如果配置中启用了redis,则注入redis工具*/
|
/* 如果配置中启用了redis,则注入redis工具*/
|
||||||
if (BeanFactory.getSmsConfig().getRedisCache()) {
|
if (BeanFactory.getSmsConfig().getRedisCache()) {
|
||||||
//如果容器中不存在一个已经实现的redisUtil则自己注入一个
|
//如果容器中不存在一个已经实现的redisUtil则自己注入一个
|
||||||
if (!Solon.context().hasWrap(RedisUtil.class)) {
|
if (!Solon.context().hasWrap(SmsRedisUtil.class)) {
|
||||||
Solon.context().wrapAndPut(RedisUtils.class);
|
Solon.context().wrapAndPut(SmsRedisUtils.class);
|
||||||
}
|
}
|
||||||
SmsInvocationHandler.setRestrictedProcess(new SolonRestrictedProcess(aopContext));
|
SmsInvocationHandler.setRestrictedProcess(new SolonRestrictedProcess(aopContext));
|
||||||
log.debug("The redis cache is enabled for sms4j");
|
log.debug("The redis cache is enabled for sms4j");
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.dromara.sms4j.solon.utils;
|
package org.dromara.sms4j.solon.utils;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.noear.solon.Solon;
|
import org.noear.solon.Solon;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
|
|
||||||
@ -10,11 +10,11 @@ import java.util.Objects;
|
|||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class RedisUtils implements RedisUtil {
|
public class SmsRedisUtils implements SmsRedisUtil {
|
||||||
|
|
||||||
private RedissonClient redisTemplate;
|
private RedissonClient redisTemplate;
|
||||||
|
|
||||||
public RedisUtils() {
|
public SmsRedisUtils() {
|
||||||
Thread t = new Thread(()->{
|
Thread t = new Thread(()->{
|
||||||
//如果获取到的bean为null则等待后重试,最多重试五次
|
//如果获取到的bean为null则等待后重试,最多重试五次
|
||||||
for(int i = 0; i < 5 ;i++){
|
for(int i = 0; i < 5 ;i++){
|
||||||
@ -34,7 +34,7 @@ public class RedisUtils implements RedisUtil {
|
|||||||
t.start();
|
t.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RedisUtils(RedissonClient redisTemplate) {
|
public SmsRedisUtils(RedissonClient redisTemplate) {
|
||||||
this.redisTemplate = redisTemplate;
|
this.redisTemplate = redisTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2,11 +2,11 @@ package org.dromara.sms4j.starter.aop;
|
|||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.smsProxy.RestrictedProcess;
|
import org.dromara.sms4j.api.smsProxy.RestrictedProcess;
|
||||||
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.dromara.sms4j.comm.config.SmsConfig;
|
import org.dromara.sms4j.comm.config.SmsConfig;
|
||||||
import org.dromara.sms4j.comm.exception.SmsBlendException;
|
import org.dromara.sms4j.comm.exception.SmsBlendException;
|
||||||
import org.dromara.sms4j.comm.utils.SmsUtil;
|
import org.dromara.sms4j.comm.utils.SmsUtil;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
import org.dromara.sms4j.starter.utils.SmsSpringUtil;
|
||||||
import org.dromara.sms4j.starter.utils.SpringUtil;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ public class RestrictedProcessImpl extends RestrictedProcess {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SmsBlendException process(SmsConfig config,String args) throws Exception {
|
public SmsBlendException process(SmsConfig config,String args) throws Exception {
|
||||||
RedisUtil redis = SpringUtil.getBean(RedisUtil.class);
|
SmsRedisUtil redis = SmsSpringUtil.getBean(SmsRedisUtil.class);
|
||||||
if (Objects.isNull(redis)){
|
if (Objects.isNull(redis)){
|
||||||
throw new SmsBlendException("The redis tool could not be found");
|
throw new SmsBlendException("The redis tool could not be found");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,19 +2,18 @@ package org.dromara.sms4j.starter.config;
|
|||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.smsProxy.SmsInvocationHandler;
|
import org.dromara.sms4j.api.smsProxy.SmsInvocationHandler;
|
||||||
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.dromara.sms4j.comm.config.SmsBanner;
|
import org.dromara.sms4j.comm.config.SmsBanner;
|
||||||
import org.dromara.sms4j.comm.config.SmsConfig;
|
import org.dromara.sms4j.comm.config.SmsConfig;
|
||||||
import org.dromara.sms4j.comm.config.SmsSqlConfig;
|
import org.dromara.sms4j.comm.config.SmsSqlConfig;
|
||||||
import org.dromara.sms4j.comm.constant.Constant;
|
import org.dromara.sms4j.comm.constant.Constant;
|
||||||
import org.dromara.sms4j.comm.delayedTime.DelayedTime;
|
import org.dromara.sms4j.comm.delayedTime.DelayedTime;
|
||||||
import org.dromara.sms4j.comm.factory.BeanFactory;
|
import org.dromara.sms4j.comm.factory.BeanFactory;
|
||||||
import org.dromara.sms4j.comm.utils.JDBCTool;
|
|
||||||
import org.dromara.sms4j.core.SupplierSqlConfig;
|
import org.dromara.sms4j.core.SupplierSqlConfig;
|
||||||
import org.dromara.sms4j.starter.aop.RestrictedProcessImpl;
|
import org.dromara.sms4j.starter.aop.RestrictedProcessImpl;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
|
||||||
import org.dromara.sms4j.starter.utils.ConfigUtil;
|
import org.dromara.sms4j.starter.utils.ConfigUtil;
|
||||||
import org.dromara.sms4j.starter.utils.RedisUtils;
|
import org.dromara.sms4j.starter.utils.SmsRedisUtils;
|
||||||
import org.dromara.sms4j.starter.utils.SpringUtil;
|
import org.dromara.sms4j.starter.utils.SmsSpringUtil;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
@ -30,10 +29,10 @@ import java.util.concurrent.Executor;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class SmsAutowiredConfig {
|
public class SmsAutowiredConfig {
|
||||||
|
|
||||||
private final SpringUtil springUtil;
|
private final SmsSpringUtil smsSpringUtil;
|
||||||
|
|
||||||
public SmsAutowiredConfig(SpringUtil springUtil) {
|
public SmsAutowiredConfig(SmsSpringUtil smsSpringUtil) {
|
||||||
this.springUtil = springUtil;
|
this.smsSpringUtil = smsSpringUtil;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ -75,7 +74,7 @@ public class SmsAutowiredConfig {
|
|||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "sql_config")
|
@ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "sql_config")
|
||||||
protected SupplierSqlConfig supplierSqlConfig(SmsSqlConfig smsSqlConfig) throws SQLException {
|
protected SupplierSqlConfig supplierSqlConfig(SmsSqlConfig smsSqlConfig) throws SQLException {
|
||||||
DataSource bean = SpringUtil.getBean(DataSource.class);
|
DataSource bean = SmsSpringUtil.getBean(DataSource.class);
|
||||||
if (!Objects.isNull(bean)){
|
if (!Objects.isNull(bean)){
|
||||||
BeanFactory.getJDBCTool().setConnection(bean.getConnection());
|
BeanFactory.getJDBCTool().setConnection(bean.getConnection());
|
||||||
}
|
}
|
||||||
@ -86,8 +85,8 @@ public class SmsAutowiredConfig {
|
|||||||
/* 如果配置中启用了redis,则注入redis工具*/
|
/* 如果配置中启用了redis,则注入redis工具*/
|
||||||
if (BeanFactory.getSmsConfig().getRedisCache()){
|
if (BeanFactory.getSmsConfig().getRedisCache()){
|
||||||
//如果用户没有实现RedisUtil接口则注入默认的实现
|
//如果用户没有实现RedisUtil接口则注入默认的实现
|
||||||
if (!SpringUtil.interfaceExist(RedisUtil.class)){
|
if (!SmsSpringUtil.interfaceExist(SmsRedisUtil.class)){
|
||||||
springUtil.createBean(RedisUtils.class);
|
smsSpringUtil.createBean(SmsRedisUtils.class);
|
||||||
}
|
}
|
||||||
SmsInvocationHandler.setRestrictedProcess(new RestrictedProcessImpl());
|
SmsInvocationHandler.setRestrictedProcess(new RestrictedProcessImpl());
|
||||||
log.debug("The redis cache is enabled for sms4j");
|
log.debug("The redis cache is enabled for sms4j");
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.dromara.sms4j.starter.config;
|
package org.dromara.sms4j.starter.config;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.dromara.sms4j.starter.utils.SpringUtil;
|
import org.dromara.sms4j.starter.utils.SmsSpringUtil;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -11,14 +11,14 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
public class SmsMainConfig {
|
public class SmsMainConfig {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public SpringUtil springUtil(DefaultListableBeanFactory defaultListableBeanFactory){
|
public SmsSpringUtil smsSpringUtil(DefaultListableBeanFactory defaultListableBeanFactory){
|
||||||
return new SpringUtil(defaultListableBeanFactory);
|
return new SmsSpringUtil(defaultListableBeanFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 主要配置注入 确保springUtil注入后再注入*/
|
/** 主要配置注入 确保springUtil注入后再注入*/
|
||||||
@Bean(initMethod = "init")
|
@Bean(initMethod = "init")
|
||||||
public SmsAutowiredConfig smsAutowiredConfig(SpringUtil springUtil){
|
public SmsAutowiredConfig smsAutowiredConfig(SmsSpringUtil smsSpringUtil){
|
||||||
return new SmsAutowiredConfig(springUtil);
|
return new SmsAutowiredConfig(smsSpringUtil);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package org.dromara.sms4j.starter.utils;
|
package org.dromara.sms4j.starter.utils;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sms4j.api.universal.RedisUtil;
|
import org.dromara.sms4j.api.universal.SmsRedisUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class RedisUtils implements RedisUtil {
|
public class SmsRedisUtils implements SmsRedisUtil {
|
||||||
|
|
||||||
private RedisTemplate<String, Object> redisTemplate;
|
private RedisTemplate<String, Object> redisTemplate;
|
||||||
|
|
||||||
@ -41,10 +41,10 @@ public class RedisUtils implements RedisUtil {
|
|||||||
this.redisTemplate = template;
|
this.redisTemplate = template;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RedisUtils() {
|
public SmsRedisUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public RedisUtils(RedisTemplate<String, Object> redisTemplate) {
|
public SmsRedisUtils(RedisTemplate<String, Object> redisTemplate) {
|
||||||
this.redisTemplate = redisTemplate;
|
this.redisTemplate = redisTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8,20 +8,20 @@ import org.springframework.context.ApplicationContext;
|
|||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>类名: SpringUtil
|
* <p>类名: SmsSpringUtil
|
||||||
* <p>说明:spring bean工具
|
* <p>说明:spring bean工具
|
||||||
*
|
*
|
||||||
* @author :Wind
|
* @author :Wind
|
||||||
* 2023/3/25 0:13
|
* 2023/3/25 0:13
|
||||||
**/
|
**/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class SpringUtil implements ApplicationContextAware {
|
public class SmsSpringUtil implements ApplicationContextAware {
|
||||||
|
|
||||||
private static ApplicationContext applicationContext;
|
private static ApplicationContext applicationContext;
|
||||||
|
|
||||||
private final DefaultListableBeanFactory beanFactory;
|
private final DefaultListableBeanFactory beanFactory;
|
||||||
|
|
||||||
public SpringUtil(DefaultListableBeanFactory beanFactory) {
|
public SmsSpringUtil(DefaultListableBeanFactory beanFactory) {
|
||||||
this.beanFactory = beanFactory;
|
this.beanFactory = beanFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,8 +31,8 @@ public class SpringUtil implements ApplicationContextAware {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
if (SpringUtil.applicationContext == null) {
|
if (SmsSpringUtil.applicationContext == null) {
|
||||||
SpringUtil.applicationContext = applicationContext;
|
SmsSpringUtil.applicationContext = applicationContext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user