我正在使用Apache Camel,Mina2和HAPI来接收HL7 v2消息。我注意到它需要花费大量时间来解组并创建Message对象。当我有更大的信息时,这个时间会增加。
我的消息大约有120个OBX段,我只使用OBX 3和OBX 5字段。我在OBX 5之后手动删除了字段,并发现性能有所改善。是否有任何方法可以告诉HAPI在OBX 5之后不解析任何字段?
答案 0 :(得分:0)
您可以扩展ca.uhn.hl7v2.parser.PipeParser并覆盖Segment解析方法。
@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);
}
}
使用它来解析您的邮件,它只会解析ORDER_DETAIL中的前5个观察。