HAPI - Как обеспечить пользовательскую реализацию ApplicationRouter
ApplicationRouterImpl по умолчанию, включенный в HAPI 2.3, абсолютно задыхается, когда он пытается обработать недопустимый тип сообщения (скажем, он получает пользовательский тип сообщения, который просто говорит ZPM вместо действительного типа, например, DFT^P03). Я пытаюсь изменить это поведение, и поэтому я создал собственный класс, который расширяет ApplicationRouterImpl. Я пытаюсь подключить этот класс в HAPI, но я не знаю, какой метод использовать на каком объекте для достижения этой цели. Вот как я инициализирую свои объекты HapiContext и HL7Service, которые, я думаю, являются наиболее вероятными кандидатами:
context = new DefaultHapiContext();
context.setValidationContext(ValidationContextFactory.noValidation());
context.getPipeParser().getParserConfiguration().setUnexpectedSegmentBehaviour(UnexpectedSegmentBehaviourEnum.ADD_INLINE);
ModelClassFactory cmf = new CustomModelClassFactory("com.mdenis.mdhis_common.hl7.custommodel");
context.setModelClassFactory(cmf);
usageServer = context.newServer(port, false);
usageServer.startAndWait();
ReceivingApplication handler = this;
usageServer.registerApplication("DFT", "P03", handler);
usageServer.registerConnectionListener(this);
Спасибо!