如何解决从 MLLP 侦听器应用程序从 Spring 转换为 SpringBoot 时出错
我一直在将遗留应用程序转换为 Springboot。该应用程序使用 Camel 为 HL7 消息创建一个 MLPP 侦听器。在 Springboot 版本中,我从 xml 加载 Camel 端点配置(就像在遗留应用程序中所做的那样)。这是文件和加载方法:
@SpringBootApplication
@ComponentScan(basePackages = "foo.bar")
@ImportResource("classpath:camel-config.xml")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
camel-context.xml:
<!-- enable Spring @Component scan -->
<context:component-scan base-package="foo.bar" />
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="ignoreMissingLocation" value="true" />
<property name="locations">
<list>
<value>classpath:default.properties</value>
<value>file:/opt/foo.bar/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="oruCamelContext">
<contextScan />
<camel:endpoint id="hl7listener" uri="mina2:tcp://{{endpoint.server}}:{{endpoint.port}}?sync=true&codec=#myhl7codec" />
</camelContext>
<context:annotation-config />
无法注册 bean 'hl7listener'。已经定义了具有该名称的 bean 并且禁用了覆盖。
如果我添加
spring.main.allow-bean-deFinition-overriding=true
到 application.properties
应用程序运行完美 - 我只是不明白为什么这是必要的,以及如何“已经”注册 bean?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。