Резервный сервер продолжает отправлять сообщения keepAlive на основной сервер. Основной сервер отвечает сообщением «Эй, я все еще бегу». Если ответ еще не наступил, сервер резервного копирования берет на себя и запускает новый адаптер, управляемый сообщениями.Ответ-ответный шаблон для сервера первичной резервной копии
- Как эффективно реализовать интеграцию весной?
- Как запустить адаптор, управляемый сообщением, из моего кода и НЕ автоматически с помощью Spring ApplicationContext.
UPDATE: Это мой текущий подход:
ОТПРАВИТЕЛЬ:
<si:inbound-channel-adapter id="keepAlivePoller" channel="keepAliveChannel" method="sendMessage" >
<bean class="com.keepAlive.KeepAliveSender"/>
<si:poller fixed-rate="${keepalive.sendinterval}" max-messages-per-poll="1"></si:poller>
</si:inbound-channel-adapter>
и это мой приемник:
<si:channel id="pollKeepChannel">
<si:queue/>
</si:channel>
<int-jms:message-driven-channel-adapter id="keepAliveMessageAdapter"
channel="pollKeepChannel" destination="keepAlive" connection-factory="connectionFactory"
max-concurrent-consumers="2" auto-startup="true" acknowledge="transacted" extract-payload="true"/>
<si:service-activator id="keepAliveServiceActivator" input-channel="pollKeepChannel" ref="keepAliveService" method="process">
<int:poller />
</si:service-activator>
<bean id="keepAliveService" class="com.keepAlive.KeepAliveService"/>
<bean id="keepAlive"
class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="PREM_KEEPALIVE" />
</bean>
Я хотел бы 1) каким-то образом получить ответ от отправляющего сервера. 2) как-то вызывать службу (?), Когда ответ НЕ пришел.
хотя я не работал с интеграцией Spring, но могу дать общие шаги: попытайтесь выполнить вышеописанное требование самостоятельно, но идя через доступные источники весны онлайн и другие примеры. Вы можете беспокоиться об эффективности/производительности после того, как у вас есть что-то на месте. И один совет вы рассмотрели с помощью балансировщика нагрузки? – Sikorski