| Products | Versions |
|---|---|
| TIBCO Streaming | 10 |
The FIX venue requires FIX50SP2 and FIXT1.1 which requires the TIBCO Streaming, StreamBase High-Performance FIX engine. In addition the venue requires additional Logon(A) tags:
<version>FIX.5.0SP2</version> <begin-string>FIXT.1.1</begin-string>along with the other settings required by the venue.
<reset-on-logon>false</reset-on-logon>This maintains the session through intra-day disconnection and reconnection.
<message-interceptor>package-and-class-name</message-interceptor>There is also an adapter property, "FIX Admin Message Interceptor Class", for this value. Set this in one place or the other, not in both places.
# Include a NextExpectedMsgSeqNum(789) tag in the outgoing Logon message, and properly process return ones. handleSeqNumAtLogon=trueThis will cause outgoing Logon messages to contain a properly set 789 field, and incoming Logon messages with tag 789 will also behave appropriately by responding with a message replay or a MsgSeqNum reset in the case of a mismatch in expected vs effective MsgSeqNum value.
package com.sb.support;
import com.streambase.sb.adapter.fix.engine.antenna.FIXAJMessageInterceptor;
import java.io.InputStream;
import org.slf4j.Logger;
import com.epam.fix.message.FIXFieldList;
import com.streambase.sb.StreamBaseException;
public class FIXTAdminMessageInterceptor implements FIXAJMessageInterceptor {
@Override
public FIXFieldList getHeaderFields(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public FIXFieldList getOutgoingLoginFields(String arg0) {
FIXFieldList ff = new FIXFieldList();
ff.addTag( 553, "someuser"); // Username
ff.addTag( 554, "secrets"); // Password
ff.addTag(1407, "9"); // DefaultApplExtID
return ff;
}
@Override
public void setConfigFile(Logger arg0, InputStream arg1) throws StreamBaseException {
// TODO Auto-generated method stub
// Here is where to read the session configuration file to find and replace the hard-coded values above
}
}