!130 优化SmsDao的日志输出,修复SE环境下SmsDao的获取方法

Merge pull request !130 from sh1yu/dev-3.0.x
This commit is contained in:
风如歌 2024-01-16 01:09:41 +00:00 committed by Gitee
commit bed318c1e6
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 25 additions and 2 deletions

View File

@ -81,6 +81,10 @@ public abstract class SmsProxyFactory {
//获取Sms的实现
private static SmsDao getSmsDaoFromFramework() {
SmsDao smsDao;
smsDao = getSmsDaoFromFramework("org.dromara.sms4j.javase.config.SESmsDaoHolder", "JavaSE");
if (null != smsDao) {
return smsDao;
}
smsDao = getSmsDaoFromFramework("org.dromara.sms4j.starter.holder.SpringSmsDaoHolder", "SpringBoot");
if (null != smsDao) {
return smsDao;
@ -98,7 +102,9 @@ public abstract class SmsProxyFactory {
try {
Class<?> clazz = Class.forName(className);
Method getSmsDao = clazz.getMethod("getSmsDao", null);
return (SmsDao) getSmsDao.invoke(null, null);
SmsDao smsDao = (SmsDao) getSmsDao.invoke(null, null);
log.info("{}:加载SmsDao成功使用{}", frameworkName,smsDao.getClass().getName());
return smsDao;
} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
log.info("{}:加载SmsDao失败尝试其他框架加载......", frameworkName);
}

View File

@ -158,6 +158,7 @@ public class SEInitializer {
throw new SmsBlendException("注册DAO实例失败实例不能为空");
}
this.smsDao = smsDao;
SESmsDaoHolder.setSmsDao(smsDao);
return this;
}

View File

@ -0,0 +1,16 @@
package org.dromara.sms4j.javase.config;
import org.dromara.sms4j.api.dao.SmsDao;
public class SESmsDaoHolder {
private static SmsDao smsDao = null;
public static SmsDao getSmsDao() {
return smsDao;
}
public static void setSmsDao(SmsDao smsDao) {
SESmsDaoHolder.smsDao = smsDao;
}
}

View File

@ -7,6 +7,6 @@ import org.dromara.sms4j.starter.utils.SmsSpringUtils;
public class SpringSmsDaoHolder {
public static SmsDao getSmsDao() {
return SmsSpringUtils.getBean(SmsDao.class);
return SmsSpringUtils.getApplicationContext().getBean(SmsDao.class);
}
}