Слияние кода завершено, страница обновится автоматически
Текущая используемая версия (обязательно): 3.1.1
Версия JDK (обязательно): JDK 8
При выполнении появляется сообщение: org.dromara.sms4j.comm.exception.SmsBlendException: Текущая конфигурация поставщика не поддерживается
@Override
public BaseConfig getSupplierConfig(String configId) {
AlibabaConfig config = new AlibabaConfig();
config.setAccessKeyId("***");
config.setAccessKeySecret("***");
config.setSignature("**система");
config.setConfigId("tx1");
System.out.println("loadConfig: инициализация конфигурации SMS: " + config.getSupplier());
return config;
}
@Override
public List<BaseConfig> getSupplierConfigList() {
List<BaseConfig> list = new ArrayList<>();
AlibabaConfig config = new AlibabaConfig();
config.setAccessKeyId("***");
config.setAccessKeySecret("***");
config.setSignature("***система");
config.setConfigId("tx1");
list.add(config);
return list;
}
public void init() {
ReadConfig config = new ReadConfig();
System.out.println("Поставщик=" + config.getSupplierConfig("tx1").getSupplier());
BaseConfig supplierConfig = config.getSupplierConfig("tx1");
System.out.println(supplierConfig.getSupplier() + "-----------");
BaseProviderFactory factory = ProviderFactoryHolder.requireForSupplier(supplierConfig.getSupplier());
System.out.println(factory + "===========");
SmsFactory.createSmsBlend(config);
System.out.println("init msg ok");
}
``` В вышеприведенном коде строки от 2 до 5 выделены для анализа принципа работы из-за ошибки. После выполнения кода, переменная factory содержит значение NULL.
Ситуация выполнения можно увидеть на рисунке 1. Я долго искал причину, но не смог её найти. Если использовать конфигурацию в формате yml, всё работает, но в реальном проекте хотелось бы использовать динамическое получение конфигурации.
**Несколько советов**
1. Я бы хотел, чтобы автор предоставил документацию по интеграции фреймворка JFinal и примеры (DEMO), это личное пожелание, можно проигнорировать, если нет интереса.
2. В документации было бы полезно указать решения для некоторых распространенных проблем, на основе отзывов пользователей, наверняка можно выделить некоторые общие моменты.
3. По моему мнению, в реальных проектах требования к отправке SMS чаще всего связаны с использованием одного канала, а использование нескольких каналов встречается реже. Предлагаю подробно описать настройку и использование для одного канала динамически. Моя техническая квалификация ограничивается CRUD-операциями, поэтому мне сложно понять более сложные конфигурации.4. В документации упоминается необходимость реализации фильтрации SMS, но конкретные методы реализации не описаны. Возможно, это связано с моей технической неопытностью, но я надеюсь, что автор сможет предоставить более подробное описание. В реальных проектах ограничения на отправку SMS связаны с финансовыми вопросами, такими как ограничение количества сообщений в день или месяц, ограничение количества сообщений для одного номера и другие подобные требования.
5. Хотел бы высказать своё мнение о будущем развитии этого фреймворка. Я считаю, что продукт должен больше внимания уделять функционалу для отправки SMS, улучшая документацию и функции, связанные с бизнес-процессами. Необходимость использования нескольких поставщиков услуг SMS, таких как Alibaba, Huawei и Tencent, ограничена. В реальных проектах чаще всего используются именно эти поставщики, а также прямое подключение к операторам связи. В конечном итоге, я надеюсь, что фреймворк будет предлагать больше функций и информации по работе с SMS.
6. В заключение хочу отметить, что фреймворк очень привлекателен и легко интегрируется. Многие детали реализованы на высоком уровне, такие как инструменты для работы с кодовыми словами, задержка отправки и обратные вызовы. Надеюсь, что автор сможет помочь мне разобраться с моими вопросами. Спасибо, это мой первый запрос.