2017-03-02 6 views
0

은 아래와 같이 개시 용 자동 복구를위한 구성도이다quickfix 자동 장애 조치 구성을 위해 SenderCompId를 구성하는 방법은 무엇입니까? QuickFix/J에서

상기 다른 IP 또는 포트에
SocketConnectHost=localhost1 
SocketConnectPort=9876 
SocketConnectHost1=localhost2 
SocketConnectPort1=9877 

가 SocketConnectHost N 및 N SocketConnectPort 같이 제공 될 수있다. 그러나 SenderCompID와 TargetCompID가 같기 때문에 위의 세션 페일 오버 메커니즘이 있습니다.

socketConnect 호스트 및 포트와 함께 SenderCompID를 구성 할 수있는 방법이 있습니까?

답변

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)를 조사하지는 않았지만 기본적으로 설정 파일은 어떤 세션이 온라인 상태인지를 결정하고, 모든 세션에서 모든 메시지를 처리 ​​할 수있는 하나의 스레드가 있으며 각 세션에는 자체 세션 ID가 있습니다. 그렇게하면 누가 어떤 메시지를 보내고 받았는지 알 수 있습니다. 따라서 자동 페일 오버의 경우 시작시 이미 페일 오버 세션을 시작했습니다. 장애 조치 프로세스는 메시지를 메시지로 전환하는 방법입니다. – rupweb

+0

그런 다음 다시 페일 오버를 위해 첫 번째 세션이 중단되면 onLogout() 이벤트를 생성해야합니다. 그런 다음 해당 세션에 대해'logon()'을 다시 사용하거나 일부 장애 조치 세션에 대해'logon()'을 사용할 수 있습니다. – rupweb