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

View File

@ -158,6 +158,7 @@ public class SEInitializer {
throw new SmsBlendException("注册DAO实例失败实例不能为空"); throw new SmsBlendException("注册DAO实例失败实例不能为空");
} }
this.smsDao = smsDao; this.smsDao = smsDao;
SESmsDaoHolder.setSmsDao(smsDao);
return this; 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 class SpringSmsDaoHolder {
public static SmsDao getSmsDao() { public static SmsDao getSmsDao() {
return SmsSpringUtils.getBean(SmsDao.class); return SmsSpringUtils.getApplicationContext().getBean(SmsDao.class);
} }
} }