彭博社不公布 QuickFixJ 的价格

Bloomberg not publishing prices from QuickFixJ

我正在使用带有 SpringBoot 的 QuickFixJ 向 Bloomberg 发布市场价格数据。发布价格时,一切正常。但是,当我点击 ALLQ 时,我看不到 Bloomberg 上发布的任何价格。

事件日志文件:

8=FIXT.1.1^A9=60^A35=0^A34=617^A49=ARHGPROD^A52=20211110-16:16:44.472^A56=BBGPROD^A10=223^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=603^A52=20211110-16:16:58.566^A10=227^A
8=FIXT.1.1^A9=60^A35=0^A34=618^A49=ARHGPROD^A52=20211110-16:17:14.472^A56=BBGPROD^A10=222^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=604^A52=20211110-16:17:28.573^A10=224^A
8=FIXT.1.1^A9=60^A35=0^A34=619^A49=ARHGPROD^A52=20211110-16:17:44.472^A56=BBGPROD^A10=226^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=605^A52=20211110-16:17:58.576^A10=231^A
8=FIXT.1.1^A9=89^A35=A^A34=1^A49=ARHGPROD^A52=20211110-16:18:45.788^A56=BBGPROD^A98=0^A108=30^A141=Y^A789=1^A1137=9^A10=059^A
8=FIXT.1.1^A9=83^A35=A^A49=BBGPROD^A56=ARHGPROD^A34=1^A52=20211110-16:18:46.082^A98=0^A108=30^A141=Y^A1137=9^A10=018^A
8=FIXT.1.1^A9=161^A35=X^A34=2^A49=ARHGPROD^A52=20211110-16:18:49.492^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=192^A
8=FIXT.1.1^A9=161^A35=X^A34=3^A49=ARHGPROD^A52=20211110-16:18:49.496^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=197^A
8=FIXT.1.1^A9=160^A35=X^A34=4^A49=ARHGPROD^A52=20211110-16:18:49.499^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2343341074^A22=4^A270=98.39^A279=0^A269=1^A48=XS2343341074^A22=4^A270=99.39^A10=128^A
8=FIXT.1.1^A9=160^A35=X^A34=5^A49=ARHGPROD^A52=20211110-16:18:49.500^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2343341074^A22=4^A270=98.39^A279=0^A269=1^A48=XS2343341074^A22=4^A270=99.39^A10=112^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=2^A52=20211110-16:19:16.585^A10=129^A
8=FIXT.1.1^A9=58^A35=0^A34=6^A49=ARHGPROD^A52=20211110-16:19:19.609^A56=BBGPROD^A10=133^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=3^A52=20211110-16:19:46.587^A10=135^A
8=FIXT.1.1^A9=58^A35=0^A34=7^A49=ARHGPROD^A52=20211110-16:19:49.609^A56=BBGPROD^A10=137^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=4^A52=20211110-16:20:16.595^A10=124^A
8=FIXT.1.1^A9=58^A35=0^A34=8^A49=ARHGPROD^A52=20211110-16:20:19.609^A56=BBGPROD^A10=127^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=5^A52=20211110-16:20:46.597^A10=130^A
8=FIXT.1.1^A9=58^A35=0^A34=9^A49=ARHGPROD^A52=20211110-16:20:49.609^A56=BBGPROD^A10=131^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=6^A52=20211110-16:21:16.603^A10=117^A
8=FIXT.1.1^A9=59^A35=0^A34=10^A49=ARHGPROD^A52=20211110-16:21:19.609^A56=BBGPROD^A10=170^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=7^A52=20211110-16:21:46.610^A10=119^A
8=FIXT.1.1^A9=59^A35=0^A34=11^A49=ARHGPROD^A52=20211110-16:21:49.609^A56=BBGPROD^A10=174^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=8^A52=20211110-16:22:16.616^A10=124^A
8=FIXT.1.1^A9=59^A35=0^A34=12^A49=ARHGPROD^A52=20211110-16:22:19.609^A56=BBGPROD^A10=173^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=9^A52=20211110-16:22:46.621^A10=124^A
8=FIXT.1.1^A9=59^A35=0^A34=13^A49=ARHGPROD^A52=20211110-16:22:49.609^A56=BBGPROD^A10=177^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=10^A52=20211110-16:23:16.626^A10=168^A
8=FIXT.1.1^A9=59^A35=0^A34=14^A49=ARHGPROD^A52=20211110-16:23:19.609^A56=BBGPROD^A10=176^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=11^A52=20211110-16:23:46.632^A10=169^A
8=FIXT.1.1^A9=59^A35=0^A34=15^A49=ARHGPROD^A52=20211110-16:23:49.609^A56=BBGPROD^A10=180^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=12^A52=20211110-16:24:16.636^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=16^A49=ARHGPROD^A52=20211110-16:24:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=13^A52=20211110-16:24:46.643^A10=174^A
8=FIXT.1.1^A9=59^A35=0^A34=17^A49=ARHGPROD^A52=20211110-16:24:49.609^A56=BBGPROD^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=14^A52=20211110-16:25:16.647^A10=177^A
8=FIXT.1.1^A9=59^A35=0^A34=18^A49=ARHGPROD^A52=20211110-16:25:19.609^A56=BBGPROD^A10=182^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=15^A52=20211110-16:25:46.654^A10=179^A

消息日志文件:

8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=30^A52=20211110-16:33:16.726^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=34^A49=ARHGPROD^A52=20211110-16:33:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=31^A52=20211110-16:33:46.731^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=35^A49=ARHGPROD^A52=20211110-16:33:49.609^A56=BBGPROD^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=32^A52=20211110-16:34:16.733^A10=173^A
8=FIXT.1.1^A9=59^A35=0^A34=36^A49=ARHGPROD^A52=20211110-16:34:19.609^A56=BBGPROD^A10=182^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=33^A52=20211110-16:34:46.739^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A34=37^A49=ARHGPROD^A52=20211110-16:34:49.609^A56=BBGPROD^A10=186^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=34^A52=20211110-16:35:16.742^A10=176^A
8=FIXT.1.1^A9=59^A35=0^A34=38^A49=ARHGPROD^A52=20211110-16:35:19.609^A56=BBGPROD^A10=185^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=35^A52=20211110-16:35:46.750^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A34=39^A49=ARHGPROD^A52=20211110-16:35:49.609^A56=BBGPROD^A10=189^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=36^A52=20211110-16:36:16.757^A10=185^A
8=FIXT.1.1^A9=59^A35=0^A34=40^A49=ARHGPROD^A52=20211110-16:36:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=37^A52=20211110-16:36:46.763^A10=186^A
8=FIXT.1.1^A9=162^A35=X^A34=41^A49=ARHGPROD^A52=20211110-16:36:49.235^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=239^A
8=FIXT.1.1^A9=162^A35=X^A34=42^A49=ARHGPROD^A52=20211110-16:36:49.236^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=241^A

我的Java代码:

/**
 * Classe responsable de la publication des prix sur Bloomberg
 * */
public class BloombergPricePublisher {
    Logger logger = LoggerFactory.getLogger(BloombergPricePublisher.class);
    /**
     * Constructeur de BloombergPricePublisher
     * */
    public BloombergPricePublisher(){
        super();
    }

    /**
     * Méthode de publication d'un prix sur Bloomberg
     * */
    public void publish(MarketPrice marketPrice) {

        MarketDataIncrementalRefresh marketDataIncrementalRefresh = createMarketDataIncrementalRefresh(marketPrice);

        try{
            for (SessionID sessionID : ValuationApplication.threadedSocketInitiator.getSessions()){

                Boolean sent = Session.lookupSession(sessionID).send(marketDataIncrementalRefresh);
                logger.info("Prix publié sur Bloomberg : " + marketDataIncrementalRefresh.toString().replace('[=12=]1', '|'));
                logger.info("Confirmation de réception : " + sent);

            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * Méthode de création d'un nouveau prix pour le publier sur Bloomberg
     * @param marketPrice
     * */
    public MarketDataIncrementalRefresh createMarketDataIncrementalRefresh(MarketPrice marketPrice) {

        quickfix.fix50sp2.MarketDataIncrementalRefresh message = new MarketDataIncrementalRefresh();

        quickfix.fix50sp2.MarketDataIncrementalRefresh.NoMDEntries group = new MarketDataIncrementalRefresh.NoMDEntries();

        message.getHeader().setString(1022, "****");

        /**
         * FIX tags :
         * 8: BeginString
         * 9: BodyLength
         * 10: CheckSum
         * 22: IDSource
         * 34: MsgSeqNum
         * 35: MsgType
         * 49: SenderCompID
         * 52: SendingTime
         * 56: TargetCompID
         * 268: NoMDEntries
         * 269: MDEntryType
         * 270: MDEntryPx
         * 279: MDUpdateAction (0 = New, 1 = Change, 2 = Delete)
         * */

        /**
         * Ajout prix Bid au message
         * */
        group.setString(48, marketPrice.getISIN());
        group.setString(22, "4");
        group.setString(279, "0");
        group.setString(269, "0");
        group.setString(270, marketPrice.getBid_kech().toString());
        message.addGroup(group);

        /**
         * Ajout prix Ask au message
         * */
        group.setString(48, marketPrice.getISIN());
        group.setString(22, "4");
        group.setString(279, "0");
        group.setString(269, "1");
        group.setString(270, marketPrice.getAsk_kech().toString());
        message.addGroup(group);

        return message;
    }
}

我看不出我做错了什么,因为在调用 Publish 方法后我的参数 send 被设置为 true。谁能帮我解决这个问题?非常感谢!

刚刚将发布更改为 CUSIP 而不是 ISIN