В моем приложении есть компонент, который иногда повреждается, и поскольку это одноэлемент, я должен перезапустить все приложение, чтобы оно обновилось. Возможно ли, чтобы Spring уничтожил и воссоздал одноэлементный компонент и заменил все ссылки на существующие бобы?Force Spring для создания нового одноэлементного компонента для замены коррумпированного
Если это имеет значение, это боб, который причиняет мне неприятности. Его LdapContextSource подключается к нашей Active Directory. Иногда привязка перестает работать («org.springframework.ldap.CommunicationException: простое связывание не удалось»), и тогда это все, что она написала, пока я не смогу вернуть приложение.
<bean id="adContextSourceTarget"
class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" ref="adUrl" />
<property name="base" ref="adBase" />
<property name="userDn" ref="adUsername" />
<property name="password" ref="adPassword" />
</bean>
Это приложение работает на двух серверах, и они не будут как бы вниз, в то же время, так что это не то, что AD вниз, кажется, что, если один из серверов происходит, чтобы попытаться связать и есть «Икота» боба не может восстановиться. И в этом мой вопрос: есть ли способ заставить Spring заменить существующий бэнд Singleton новым.
Как именно вы «закрыть соединение и проверить еще один из пула» с помощью ldapTemplate? –
Вы посмотрели раздел 5.1.3 Объединение в ссылку, которую я вам отправил? – duffymo