2016-06-10 3 views
0

Maven 낙타 실행 플러그인을 사용하여 xml을 무료로 사용하면서 Spring Dependency Injection 시스템에 완전히 의존하도록 낙타 프로젝트를 설정하려면 어떻게해야합니까? 나는 수 많은 구성을 시도했지만, 여전히 자바 구성 파일을 가져 오는 "쉘 컨텍스트"파일이 붙어있는 것 같습니다. 이걸 없애기 위해 어쨌든 있습니까? 참고 : 모든 작업을 할 수 있습니다 2.17.1의 또한 최신의 낙타 버전Camel Spring JavaConfig xml이없는 Maven-Camel-Plugin

낙타 경로를

@Component 
public class TestRoute extends SpringRouteBuilder { 
    @Override 
    public void configure() throws Exception { 
     from("timer://foo?repeatCount=1") 
      .log("Hello World"); 
    } 
} 

자바 구성

@Configuration 
@ComponentScan("com.mcf.xml.free.route") 
public class RouteJavaConfig extends CamelConfiguration { 

} 

메이븐 낙타 플러그인

  <plugin> 
       <groupId>org.apache.camel</groupId> 
       <artifactId>camel-maven-plugin</artifactId> 
       <version>${camel.version}</version> 
       <configuration> 
        <configClasses>com.mcf.xml.free.config.RouteJavaConfig</configClasses> 
       </configuration> 
      </plugin> 

를 플러그인 컨텍스트 내가 없애고 싶다.

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

    <context:annotation-config/> 
    <bean class="com.mcf.xml.free.config.RouteJavaConfig"/> 
</beans> 

maven camel 실행 플러그인에 스프링 컨텍스트 파일 대신 Java Config를 허용하는 방법이 있습니까? 또한 아직 테스트하지는 않았지만이 파일을 제거하면 Apache Karaf에 배포하는 데 문제가 발생할 수 있습니다. Java 구성을 사용하도록 구성하는 방법이 있습니까?

+0

: 아파치 낙타의 한 부분으로 예를 들어이있다

. 왜이 작은 파일 하나를 없애고 싶습니까? –

+0

유지 관리 및 리펙토링 목적으로 만 사용하십시오. XML 기반 구성은 IDE 도구로 안전하게 리팩터링하기가 매우 어렵습니다. 어떤 종류의 레거시 의존성 지원이 아니면 내 기본 프로젝트에 XML이 없어야합니다. 많은 양의 리팩토링을받는 많은 애플리케이션을 만드는 경향이 있으므로 느려지는 것을 정리하는 것은 정말 이상적입니다. –

답변

1

을 당신이 직접 만든 메인 클래스를 사용하여 봄 자바 구성 응용 프로그램을 시작하고 자바 받는다는 사용 : 여기

Spring-Boot 당신이 확인에 모습을 가질 수 한 봄 부팅 낙타 예이다 그것을 실행하는 -exec 플러그인. 이 예제에는 XML 파일이 전혀 없다. 나는 호기심이 요청하고 https://github.com/apache/camel/tree/master/examples/camel-example-spring-javaconfig

+0

camel maven plugin과 호환되지 않습니까? Java 구성? –

+0

그렇다면 플러그인 mainClass 옵션을 구성하고 제공된 링크에서 해당 예제에 사용 된 main을 가리 키거나 플러그인에서 configClasses 또는 basedPackages 옵션을 구성해야합니다. 후자의 두 가지는 스프링 자바 메인을위한 것이다. –

+0

굉장해 이제 고마워 클로스! –

0

시나리오가 낙타와 함께 봄 장화를 사용하는 데 매우 적합하다고 생각합니다. 봄 따옴표 :

물론 없는 코드 생성자신의 페이지에 XML 구성

에 대한 요구 사항없이. Camel-Spring Boot example

+0

나는 Spring Boot가 정말 멋지다는 것에 확실히 동의하고 있습니다. 그러나 FUSE 플랫폼 (Camel, Spring, OSGI, CXF, Karaf)을 계속 사용하면 내 옵션이 무엇인지 운동하고 싶습니다. –