我已成功使用Camel MINA在单个端口上进行侦听。我现在想修改配置,以便我可以监听几个端口。我不确定如何做到这一点。我已经包含了xml配置的剪辑和下面的相关类:
<!-- enable Spring @Component scan -->
<context:component-scan base-package="foo.bar.hl7" />
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="ignoreMissingLocation" value="true" />
<property name="locations">
<list>
<value>file:${catalina.home}/application.properties</value>
</list>
</property>
</bean>
<bean id="myhl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec">
<property name="charset" value="iso-8859-1"/>
<property name="validate" value="false"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring" id="camelContext">
<contextScan />
<!-- You need to configure your socket in the endpoint.properties file -->
<camel:endpoint id="hl7listener" uri="mina2:tcp://{{endpoint.server}}:{{endpoint.port}}?sync=true&codec=#myhl7codec" />
</camelContext>
<context:annotation-config />
<bean class="foo.bar.hl7.HL7ListenerConfiguration" />
application.properties
#### HL7 Endpoint Configuration
endpoint.server=192.168.1.219
endpoint.port=9001
组件类
@Configuration
public class HL7ListenerConfiguration {
private static final Logger log = LoggerFactory.getLogger(HL7ListenerConfiguration.class);
@Bean
public RespondACK RespondACK() {
return new RespondACK();
}
@Bean
public ADTInboundRouteBuilder ADTInboundRouteBuilder() {
log.debug("Building MLLP Route");
return new ADTInboundRouteBuilder();
}
}
答案 0 :(得分:1)
您需要为每个要侦听的端口创建一个hl7listener和Camel路由。