В запущенном приложении весны можно ли отслеживать папку, в которой я мог бы добавить больше файла конфигурации, в котором определено больше компонентов? Я не хочу останавливать приложение, но хочу добавить в него больше бобов, поэтому я собираюсь создать папку, а затем поместить в эту папку определения bean и позволить весне забрать ее и инициализировать компоненты. Я задаюсь вопросом, является ли это выполнимо или нетКак динамически загружать файл configuraiton весной
0
A
ответ
1
Вы должны были бы две вещи
Файл наблюдающий, чтобы следить за изменениями файловой системы - JDK7 обеспечивает way, чтобы сделать это.
Обновить контекст приложения - Вы можете использовать метод
refresh
одного изAbstractRefreshableApplicationContext
класса: он не будет освежить ранее инстанцированы бобы, но следующий вызов от контекста будет возвращать обновленные бобы.
0
вы можете создать файл свойств и загружать его динамически
см ниже код, который я использовал в моем проекте:
private static Properties beanProps = new Properties();
beanFactoryFileProps.load(AppContext.class
.getResourceAsStream("configFile.properties"));
Collection props = beanProps.values();
String[] configFiles = null;
if (!Utils.isEmpty(props)) {
Object[] config = props.toArray();
configFiles = new String[config.length];
for (int i = 0; i < config.length; i++) {
configFiles[i] = (String) config[i];
}
}
else
{
configFiles=new String[] {"dispatcher-servlet.xml"};
}
файл свойств, как показано ниже
file1=dispatcher-servlet.xml
file2=ApplicationContext.xml
file2=QuartzSchedulerContext.xml
Смежные вопросы
- 1. Как динамически загружать файл CSS
- 2. Как загружать файл javascript динамически?
- 3. динамически загружать файл ресурсов
- 4. Динамически загружать внешний файл js?
- 5. Shiny: динамически загружать .RData файл
- 6. Joomla 2.5 загружать файл динамически
- 7. C++ как динамически загружать сторонний DLL-файл
- 8. Как динамически загружать gwt-файл nocache.js?
- 9. Как динамически загружать highcharts
- 10. Как динамически загружать datatable?
- 11. Как динамически загружать содержимое
- 12. Grails выносного Issue configuraiton
- 13. Динамически загружать файл сценария в ASP.NET MVC
- 14. Динамически загружать файл javascript с атрибутом данных
- 15. Динамически загружать SWF-файл с помощью Java
- 16. Динамически загружать JSX-файл в JavaScript
- 17. Динамически загружать DEX-файл на Android 5.0
- 18. JHipster custom configuraiton support
- 19. Byebug gem configuraiton issues
- 20. Spring - как использовать PropertyPlaceholderConfigurer динамически загружать файлы
- 21. Динамически динамически загружать/выгружать активы
- 22. ExtJS дерево динамически загружать
- 23. Как динамически загружать ресурс R.styleable?
- 24. Как динамически загружать класс Django
- 25. Как загружать Ion-tabs динамически?
- 26. Как динамически загружать часть сайта
- 27. Как динамически загружать класс Python
- 28. Как динамически загружать орбиту фундамента?
- 29. Динамически загружать модули угловые
- 30. Как загрузить свойства компонента динамически весной
Почему вы даже хотите это сделать? В большинстве случаев изменение определений bean также требует развертывания (из-за изменений кода) ... – home
Не изменяйте определение bean-компонента, но добавьте больше определения. Я просто хочу добавить файл jar, пусть весна поднимет его, а затем позволит ему выбрать конфигурацию, указывающую на новый bean-компонент, определенный в файле jar. Является ли это возможным? –
@ DanielWu Весной есть класс 'AbstractRefreshableApplicationContext', и у него есть метод loadBeanDefinitions ', поэтому, возможно, это был бы хороший способ проверить его. Вы могли бы принудительно выполнить «refresh()» в контексте, а затем «loadBeanDefinitions» будет вызван ... но это длинный снимок. –