2016-06-09 16 views
0

eip-conext.xml zu unterstützen:PropertiesComponent mit dem Namen Eigenschaften müssen in CamelContext definiert werden Eigenschaft Platzhalter

<camelContext id="integrationTestContext" xmlns="http://camel.apache.org/schema/spring" useMDCLogging="true" 
       autoStartup="true"> 

    <camel:route id="FileToTranscodeDetector"> 
     <camel:from uri="file:/mnt/iscsi/MIDDLEDATA/in/?include=.*.mp4&amp;move=/mnt/iscsi/MIDDLEDATA/out/&amp;moveFailed=/mnt/iscsi/MIDDLEDATA/error/"/> 
     <log message="Receiving \${header.CamelFileName} For TestIntegration" loggingLevel="INFO" 
      logName="sup.encoder.provider"/> 
     <camel:to uri="bean:myProcessor?method=process1"/> 
     <camel:to uri="file:{{exchangeProperty.filePath}}"/> 

MyProcess.java:

public void process1(@Headers final Map<String, Object> headers, final Exchange exchange) throws Exception { 
    try { 
     logger.debug("New Process Core !"); 
     final String str = (String) headers.get(Exchange.FILE_NAME); 
     final File inputFile = new File(str); 

     Orquestrator.DoJob(inputFile, exchange); 

    } catch (final Exception e) { 
     throw new Exception("error with process...", e); 
    } 
} 

DoJob.java:

public static void DoJob(final File file, final Exchange exchange) 
{ 
    logger.info("starting DoJob.."); 
    logger.info("searching worker"); 
    //WorkerID = FindWorker(); 
    //Je met le le worker 1 pour tester ------- 
    WorkerID = 1; 
    //----------------------------------------- 

    logger.info("Send job to available worker number "+WorkerID);  
    if (WorkerID == 1) 
    { 
     logger.info("filepath = Worker1/"); 
     exchange.setProperty("filePath", "Worker1/"); 
    }else if (WorkerID == 2){ 
     logger.info("filepath = Worker2/"); 
     exchange.setProperty("filePath", "Worker2/"); 
    } 
} 

Stacktrace:

06-09 16:27:42 INFO org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:307) Root WebApplicationContext: Initialisierung gestartet 06-09 16:27:42 INFO org.springframework.context.support.AbstractApplicationContext.prepareRefresh (AbstractApplicationContext.java:574) Refreshing-Stamm WebApplicationContext: Startdatum [Do Jun 09 16:27:42 CEST 2016]; Wurzel der Kontexthierarchie 06-09 16:27:42 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:317) Laden von XML-Bean-Definitionen aus der ServletContext-Ressource [/ WEB-INF/classes/eip -context_Encoder.xml] 06-09 16:27:44 FEHLER org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:353) Kontextinitialisierung fehlgeschlagen org.apache.camel.RuntimeCamelException: org.apache.camel .FailedToCreateRouteException: Fehler beim Erstellen der Route FileToTranscodeDetector unter: >>> An [file: {{exchangeProperty.filePath}}] < < < in Route: Route (FileToTranscodeDetector) [[Von [file:/mnt/iscsi/MIDDLED ... aufgrund von PropertiesComponent mit Name-Eigenschaften muss in CamelContext definiert werden, um Eigenschaftsplatzhalter zu unterstützen. Eigenschaft mit Schlüssel [exchangeProperty.filePath] nicht in den Eigenschaften von text gefunden: file: {{exchangeProperty.filePath}} bei org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException (ObjectHelper.java:1619) bei org.apache. camel.spring.SpringCamelContext.onApplicationEvent (SpringCamelContext.java:123) bei org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent (CamelContextFactoryBean.java:332) bei org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener (SimpleApplicationEventMulticaster. java: 163) unter org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent (SimpleApplicationEventMulticaster.java:136) unter org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:380) at org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:334) unter org.springframework.context.support.AbstractApplicationContext.finishRefresh (AbstractApplicationContext.java:851) unter org.springframework.context.support. AbstractApplicationContext.refresh (AbstractApplicationContext.java:540) bei org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:446) bei org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:328) bei org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:107) bei org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4973) bei org.apa che.catalina.core.StandardContext.startInternal (StandardContext.java:5467) bei org.apache.catalina.util.LifecycleBase.Start (LifecycleBase.java:150) bei org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:901) bei org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:877) bei org.apache.catalina.core.StandardHost.addChild (StandardHost.java:632) bei org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:1073) bei org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1857) bei java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) bei java.util.concurrent.FutureTask.run (FutureTask.java:262) um java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) bei java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor .java: 615) bei java.lang.Thread.run (Thread.java:745) verursacht durch: org.apache.camel.FailedToCreateRouteException: Fehler beim Erstellen der Route FileToTranscodeDetector unter: >>> An [file: {{exchangeProperty .filePath}}] < < < in Route: Route (FileToTranscodeDetector) [[Aus [file:/mnt/iscsi/MIDDLED ... wegen PropertiesComponent mit Nameneigenschaften muss in CamelContext definiert werden, um Eigenschaftsplatzhalter zu unterstützen. Die Eigenschaft mit Schlüssel [exchangeProperty.filePath] wurde in Eigenschaften aus dem Text nicht gefunden: file: {{exchangeProperty.filePath}} bei org.apache.camel.model.RouteDefinition.addRoutes (RouteDefinition.java:1028) bei org.apache. camel.model.RouteDefinition.addRoutes (RouteDefinition.java:185) bei org.apache.camel.impl.DefaultCamelContext.startRoute (DefaultCamelContext.java:841) bei org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions (DefaultCamelContext. java: 2895) bei org.apache.camel.impl.DefaultCamelContext.doStartCamel (DefaultCamelContext.java:2618) bei org.apache.camel.impl.DefaultCamelContext.access $ 000 (DefaultCamelContext.java:167) bei org.apache .camel.impl.DefaultCamelContext $ 2.call (DefaultCamelContext.java:2467) bei org.apache.camel.i mpl.DefaultCamelContext $ 2.call (DefaultCamelContext.java:2463) bei org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader (DefaultCamelContext.java:2486) bei org.apache.camel.impl.DefaultCamelContext.doStart (DefaultCamelContext.java : 2463) bei org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:61) bei org.apache.camel.impl.DefaultCamelContext.start (DefaultCamelContext.java:2432) bei org.apache.camel .spring.SpringCamelContext.maybeStart (SpringCamelContext.java:255) bei org.apache.camel.spring.SpringCamelContext.onApplicationEvent (SpringCamelContext.java:121) ... 23 weitere verursacht durch: java.lang.IllegalArgumentException: PropertiesComponent mit Name-Eigenschaften müssen in CamelContext definiert werden, um die Eigenschaft pla zu unterstützen Inhaber. Eigenschaft mit der Taste [exchangeProperty.filePath] nicht in Eigenschaften von Text gefunden: file: {{}} exchangeProperty.filePath bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.getPropertyValue (DefaultPropertiesParser.java:268) bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.readProperty (DefaultPropertiesParser.java:154) bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.doParse (DefaultPropertiesParser.java:113) bei org. apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.parse (DefaultPropertiesParser.java:97) bei org.apache.camel.component.properties.DefaultPropertiesParser.parseUri (DefaultPropertiesParser.java:62) bei org.apache.camel. component.properties.PropertiesComponent.parseUri (Eigenschaften Component.java:178) bei org.apache.camel.component.properties.PropertiesComponent.parseUri (PropertiesComponent.java:129) bei org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders (DefaultCamelContext.java:1956) bei org.apache.camel.model.ProcessorDefinitionHelper.resolvePropertyPlaceholders (ProcessorDefinitionHelper.Java: 632) bei org.apache.camel.model.ProcessorDefinition.makeProcessor (ProcessorDefinition.java:480) bei org.apache.camel.model.ProcessorDefinition.addRoutes (ProcessorDefinition.java:217) bei org.apache. camel.model.RouteDefinition.addRoutes (RouteDefinition.java:1025) ... 36 mehr 06-09 16:27:55 INFO org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java307) Root WebApplicationContext : Initialisierung gestartet 06-09 16:27:55 INFO org.springframework.context.support.AbstractApplicationContext.prepareRefresh (AbstractApplicationContext.java:574) Refreshing-Stamm WebApplicationContext: Startdatum [Do Jun 09 16:27:55 CEST 2016]; Wurzel der Kontexthierarchie 06-09 16:27:55 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:317) Laden von XML-Bean-Definitionen aus der ServletContext-Ressource [/ WEB-INF/classes/eip -context_Encoder.xml] 06-09 16:28:02 FEHLER org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:353) Kontextinitialisierung fehlgeschlagen org.apache.camel.RuntimeCamelException: org.apache.camel .FailedToCreateRouteException: Fehler beim Erstellen der Route FileToTranscodeDetector unter: >>> An [file: {{exchangeProperty.filePath}}] < < < in Route: Route (FileToTranscodeDetector) [[Von [file:/mnt/iscsi/MIDDLED ... aufgrund von PropertiesComponent mit Name-Eigenschaften muss in CamelContext definiert werden, um Eigenschaftsplatzhalter zu unterstützen. Eigenschaft mit Schlüssel [exchangeProperty.filePath] nicht in den Eigenschaften von text gefunden: file: {{exchangeProperty.filePath}} bei org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException (ObjectHelper.java:1619) bei org.apache. camel.spring.SpringCamelContext.onApplicationEvent (SpringCamelContext.java:123) bei org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent (CamelContextFactoryBean.java:332) bei org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener (SimpleApplicationEventMulticaster. java: 163) unter org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent (SimpleApplicationEventMulticaster.java:136) unter org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:380) an org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:334) bei org.springframework.context.support.AbstractApplicationContext.finishRefresh (AbstractApplicationContext.java:851) bei org.springframework.context.support. AbstractApplicationContext.refresh (AbstractApplicationContext.java:540) bei org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:446) bei org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:328) bei org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:107) bei org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4973) bei org.apa che.catalina.core.StandardContext.startInternal (StandardContext.java:5467) bei org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) bei org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:901) bei org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:877) bei org.apache.catalina.core.StandardHost.addChild (StandardHost.java:632) bei org. apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:1073) bei org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1857) bei java.util.concurrent.Executors $ RunnableAdapter. Rufen Sie (Executors.java:471) unter java.util.concurrent.FutureTask.run (FutureTask.java:262) bei java.util.concurrent.ThreadPoolExec utor.runWorker (ThreadPoolExecutor.java:1145) bei java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java: 615) bei java.lang.Thread.run (Thread.java:745) verursacht durch: org.apache.camel.FailedToCreateRouteException: Fehler beim Erstellen der Route FileToTranscodeDetector unter: >>> An [file: {{exchangeProperty. filePath}}] < < < in Route: Route (FileToTranscodeDetector) [[Von [file:/mnt/iscsi/MIDDLED ... wegen PropertiesComponent mit Nameneigenschaften muss in CamelContext definiert werden, um Eigenschaftsplatzhalter zu unterstützen. Die Eigenschaft mit Schlüssel [exchangeProperty.filePath] wurde in Eigenschaften aus dem Text nicht gefunden: file: {{exchangeProperty.filePath}} bei org.apache.camel.model.RouteDefinition.addRoutes (RouteDefinition.java:1028) bei org.apache. camel.model.RouteDefinition.addRoutes (RouteDefinition.java:185) bei org.apache.camel.impl.DefaultCamelContext.startRoute (DefaultCamelContext.java:841) bei org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions (DefaultCamelContext. java: 2895) bei org.apache.camel.impl.DefaultCamelContext.doStartCamel (DefaultCamelContext.java:2618) bei org.apache.camel.impl.DefaultCamelContext.access $ 000 (DefaultCamelContext.java:167) bei org.apache .camel.impl.DefaultCamelContext $ 2.call (DefaultCamelContext.java:2467) bei org.apache.camel.i mpl.DefaultCamelContext $ 2.call (DefaultCamelContext.java:2463) bei org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader (DefaultCamelContext.java:2486) bei org.apache.camel.impl.DefaultCamelContext.doStart (DefaultCamelContext.java : 2463) bei org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:61) bei org.apache.camel.impl.DefaultCamelContext.start (DefaultCamelContext.java:2432) bei org.apache.camel .spring.SpringCamelContext.maybeStart (SpringCamelContext.java:255) bei org.apache.camel.spring.SpringCamelContext.onApplicationEvent (SpringCamelContext.java:121) ... 23 weitere verursacht durch: java.lang.IllegalArgumentException: PropertiesComponent mit Name-Eigenschaften müssen in CamelContext definiert werden, um die Eigenschaft pla zu unterstützen Inhaber. Eigenschaft mit der Taste [exchangeProperty.filePath] nicht in Eigenschaften von Text gefunden: file: {{}} exchangeProperty.filePath bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.getPropertyValue (DefaultPropertiesParser.java:268) bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.readProperty (DefaultPropertiesParser.java:154) bei org.apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.doParse (DefaultPropertiesParser.java:113) bei org. apache.camel.component.properties.DefaultPropertiesParser $ ParsingContext.parse (DefaultPropertiesParser.java:97) bei org.apache.camel.component.properties.DefaultPropertiesParser.parseUri (DefaultPropertiesParser.java:62) bei org.apache.camel. component.properties.PropertiesComponent.parseUri (Eigenschaften Component.java:178) bei org.apache.camel.component.properties.PropertiesComponent.parseUri (PropertiesComponent.java:129) bei org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders (DefaultCamelContext.java:1956) bei org.apache.camel.model.ProcessorDefinitionHelper.resolvePropertyPlaceholders (ProcessorDefinitionHelper.java:632) bei org.apache.camel.model.ProcessorDefinition.makeProcessor (ProcessorDefinition.java:480) bei org.apache.camel.model.ProcessorDefinition. addRoutes (ProcessorDefinition.java:217) bei org.apache.camel.model.RouteDefinition.addRoutes (RouteDefinition.java:1025) ... 36 weitere

Lösung? Ich habe gerade nichts gefunden ...

Antwort

0

die Camel Dokumentation Sehen Sie, wie Eigenschaft Platzhalter verwenden: http://camel.apache.org/using-propertyplaceholder.html

Wie Sie XML verwenden, dann finden Sie im Abschnitt mit dem Titel im Frühjahr Konfiguration XML

zB müssen Sie konfigurieren, in denen die Eigenschaften von Dateien ist lokalisiert, etwas wie:

<propertyPlaceholder id="properties" location="com/mycompany/myprop.properties"/>