Несколько проблем, которые могут возникнуть -
Во-первых, refresh () должен уничтожить все bean-компоненты, в настоящее время живущие в контексте (синглтоны и т. Д.), И воссоздать их, поэтому может произойти любая начальной загрузкипроизойдет снова (вещи, которые вы положили в InitializingBean
бобов и т. д.).Это более важная проблема для вас, чтобы убедиться, что весь инициализированный код, который вы написали, безопасен для повторного выполнения.
Еще одна вещь, за которой нужно следить, - как обновление повлияет на генерацию постоянной памяти(PermGen).Поскольку Spring может (и будет) прокси-классы и создавать классы среды выполнения «на лету», это может оказаться утечкой ресурсов, поскольку фабрика бинов, вероятно, создаст новые классы среды выполнения при обновлении контекста.