2017-03-02 157 views
0

在的QuickFix/J存在對於引發劑的自動故障轉移配置等如下:如何配置SenderCompId以進行quickfix自動故障轉移配置?

SocketConnectHost=localhost1 
SocketConnectPort=9876 
SocketConnectHost1=localhost2 
SocketConnectPort1=9877 

在上述替代性IP或端口可以像SocketConnectHost ñ和SocketConnectPort Ñ來提供。但上面是一個會話故障轉移機制,因爲SenderCompID和TargetCompID相同。

有沒有辦法讓我配置SenderCompID以及socketConnect主機和端口?

回答

1

嗯,是你只是一個新的會話設置下,有點像這樣:

[default] 
ReconnectInterval=5 
StartTime=00:00:00 
EndTime=00:00:00 
HeartBtInt=60 
ReconnectInterval=60 
ResetOnLogon=Y 
DataDictionary=FIX.4.4.xml 
UseDataDictionary=Y 
ValidateFieldsOutOfOrder=N 

[session] 
BeginString=FIX.4.4 
SenderCompID=Sender1 
TargetCompID=Target1 
SocketConnectPort=1201 
SocketConnectHost=1.2.3.4 
FileStorePath=store1 
FileLogPath=log1 
ConnectionType=initiator 

[session] 
BeginString=FIX.4.4 
SenderCompID=Sender2 
TargetCompID=Target2 
SocketConnectPort=1202 
SocketConnectHost=1.2.3.5 
FileStorePath=store2 
FileLogPath=log2 
ConnectionType=initiator 

[session] 
BeginString=FIX.4.4 
SenderCompID=Sender3 
TargetCompID=Target3 
SocketConnectPort=1203 
SocketConnectHost=1.2.3.6 
FileStorePath=store3 
FileLogPath=log3 
ConnectionType=initiator 
+0

當第二次會議將被激活?第二個會話配置將如何激活? –

+0

與1日同時活躍。我沒有完全查看[代碼](https://github.com/quickfix-j/quickfixj/blob/4bcf552b8a25fe3724a94aee7d15c57a675b1f13/quickfixj-core/src/main/java/quickfix/SocketInitiator.java),但基本上配置文件確定哪些會話聯機,然後有1個線程處理所有會話中的所有消息,每個會話都有自己的會話ID。這樣你就知道誰發了/收到了什麼信息。因此,對於自動故障轉移,您已經在啓動時啓動了故障轉移會話。故障轉移過程是關於如何將消息切換到它。 – rupweb

+0

然後,對於故障轉移,如果第一次會話丟失,它應該產生一個'onLogout()'事件。然後,您可以簡單地使用'logon()'作爲該會話,或者使用'logon()'來進行一些故障轉移會話。 – rupweb

相關問題