2015-10-30 16 views
2

Я использую Apache Camel, Mina2 и HAPI для получения сообщений HL7 v2. Я заметил, что у него много времени, чтобы развязать и создать объект Message. И это время увеличивается, когда у меня больше сообщений.Можно ли пропустить парсинг некоторого поля в HAPI?

Мое сообщение имеет около 120 сегментов OBX, и я использую только поле OBX 3 и OBX 5. Я тестировал вручную удаление полей после OBX 5 и нашел некоторое улучшение производительности. Есть ли способ сообщить HAPI не анализировать любые поля после OBX 5?

ответ

0

Вы можете расширить ca.uhn.hl7v2.parser.PipeParser и переопределить метод разбора сегмента.

@Override 
public void parse(Segment destination, String segment, EncodingCharacters encodingChars, Integer theRepetition) throws HL7Exception { 
    if(!"OBX".equals(destination.getName()) || destination.getParent().getParent().getAll("OBSERVATION").length <= 5) { 
     super.parse(destination, segment, encodingChars, theRepetition); 
    } 
} 

Используйте это, чтобы разобрать ваши сообщения, и он будет анализировать только первые 5 наблюдений в ORDER_DETAIL.

 Смежные вопросы

  • Нет связанных вопросов^_^