Предположим, у меня есть фасоль DialogBox, со свойствами по высоте и ширине:Применить динамические свойства боба во время выполнения
public class DialogBox {
int x;
int y;
...
}
В моей applicationContext.xml я бы определить свойства, как разумные значения по умолчанию:
<bean id="dialogbox" class="DialogBox">
<property name="x" value="100"/>
<property name="y" value="100"/>
</bean>
У нас есть несколько клиентов, которые используют компонент dialogBox, и каждый хочет получить пользовательское значение для x и y. Один маршрута мы обсуждаем это наличие нескольких файлов свойств, один для каждого клиента, и иметь карту идентификатора клиента до нужного файла, например, клиент 123 будет отображаться в dialogbox_123.properties:
dialogbox_123.properties:
x=200
y=400
Затем во время выполнения, когда bean запрошен, весна посмотрела бы, существует ли пользовательский файл свойств для клиента и использует эти свойства, в противном случае используйте значения по умолчанию. Я знаю PropertyOverrideConfigurer, но AFAIK это работает только при запуске контекста, поэтому не будет работать для наших целей. Есть ли в наличии весна для этого, или кто-то может порекомендовать другой путь?
См. Также http://stackoverflow.com/questions/534030/reloading-refreshing-spring-configuration-file-without-restarting-the-servlet-co – Vadzim