Невозможно увидеть сегмент в MixPanel при использовании Java

У меня есть сегмент, работающий и отправляющий события в MixPanel с помощью javascript. Теперь мы хотим сделать это с помощью Java. Я попытался последовать примеру на https://segment.com/docs/sources/server/java/#selecting-integrations Скопировав ссылку выше, я добавил в свой код аналогично фрагменты:

Analytics analytics = Analytics.builder(writeKey).build();
analytics.enqueue(IdentifyMessage.builder()
    .userId("f4ca124298")
    .traits(ImmutableMap.builder()
        .put("name", "Michael Bolton")
        .put("email", "[email protected]")
        .build()
    )
);
analytics.enqueue(TrackMessage.builder("Item Purchased")
    .userId("f4ca124298")
    .properties(ImmutableMap.builder()
        .put("revenue", 39.95)
        .put("shipping", "2-day")
        .build()
    )
);
analytics.flush()

Программа работает правильно, но я не вижу никаких событий на MixPanel. Мне интересно, что я делаю не так.

Кто-нибудь может помочь?

Заранее спасибо,

Тайцы.


person Thais M K Manfrin    schedule 03.04.2017    source источник


Ответы (1)


Вы пытаетесь запустить его из автономного клиента Java? Я столкнулся с подобной проблемой, когда работал из JUnit, однако, когда я добавляю задержку в несколько секунд, она работает.

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

person Nitish    schedule 19.05.2017