Интегратор WSO2: Как настроить отработку отказа FIX Initiator? - PullRequest
0 голосов
/ 19 ноября 2018

Как настроить конечную точку инициатора WIX2 Integrator FIX, в которой используется автоматическое восстановление сеанса сеанса, поддерживаемое Quickfix / J?

In Quickfix / J , возможнонастроить автоматический переход на другой ресурс сеанса инициатора с помощью файла конфигурации FIX следующим образом (при условии, что два локальных сервера FIX прослушивают порты 9997,9998)

[SESSION]
SenderCompID=SYNAPSE
TargetCompID=EXEC
SocketConnectHost=localhost
SocketConnectPort=9997
SocketConnectHost1=localhost
SocketConnectPort1=9998
ReconnectInterval=5

Все примеры в документации WSO2 show FIXконечные точки, сконфигурированные с жестко закодированным хостом, таким как:

<send>
    <endpoint>
       <address uri="fix://localhost:9997?BeginString=FIX.4.4&SenderCompID=SYNAPSE&TargetCompID=EXEC"/>
    </endpoint>
</send>

Этот шаблон для нас невозможен, поскольку целевой сервер FIX находится на удаленном сервере с именем хоста, отличающимся в зависимости от среды, поэтому я никогда не хочу использовать хардкорцелевой хост, как это.

В идеале я хотел бы сделать что-то вроде этого:

<send>
    <address uri="fix://<dynamic hostname>:9997?BeginString=FIX.4.4&SenderCompID=SYNAPSE&TargetCompID=EXEC"/>
    // the endpoint representing the above FIX Session
    // where the target host is dynamically defined
    // and not hardcoded anywhere in my car application
</send>

На стороне получателя / слушателя в качестве прокси-службы это работает нормально, потому что в прокси-службе он поднимает конфигурацию спредоставленный параметр URL конфигурации инициатора, поэтому аварийное переключение происходит "под капотом" движком FIX.

<parameter name="transport.fix.InitiatorConfigURL">quickfix.cfg</parameter>

Однако, похоже, что сделать то же самое невозможно, когда вы отправляете сообщение нацелевой сервер FIX.

У кого-нибудь есть хорошее предложение или пример того, как этого добиться?

1 Ответ

0 голосов
/ 28 ноября 2018

Поскольку вы используете обычную «конечную точку адреса», вы также должны иметь возможность использовать обычные конфигурации аварийного переключения: см. https://docs.wso2.com/display/ESB500/Configuring+Failover+Endpoints для получения информации.

...