0

コンポーネントを karaf にインストールしようとすると、次のエラーが発生します。 Caused by: org.apache.camel.CamelException: Cannot find any routes with this RouteBuilder reference: RouteBuilderRef[logparserRouteBean]

によって返される SimpleTypeConverter を使用して、AbstractBeanFactory の変換エラーに絞り込みましたgetTypeConverter()ここに画像の説明を入力

ここに画像の説明を入力

PerformanceLogRoute が org.apache.camel.builder.RouteBuilder を拡張する場合、変換が失敗する可能性はありますか??

任意のソリューションへの提案、およびアイデアは大歓迎です。

アップデート

package no.osl.cdms.profile.routes;

import no.osl.cdms.profile.api.TimeMeasurement;
import no.osl.cdms.profile.factories.EntityFactory;
import no.osl.cdms.profile.log.TimeMeasurementEntity;
import no.osl.cdms.profile.parser.LogLineRegexParser;
import org.apache.camel.builder.RouteBuilder;

import java.util.Map;

public class PerformanceLogRoute extends RouteBuilder {

    public static final String PERFORMANCE_LOG_ROUTE_ID = "PerformanceLogRoute";
    private static final String LOG_DIRECTORY = "C:/data";
    private static final String LOG_FILE = "performance.log";
    private static final int DELAY = 0;

    private LogLineRegexParser logLineRegexParser = new LogLineRegexParser();
    private EntityFactory entityFactory = EntityFactory.getInstance();

    private static final String LOG_FILE_ENDPOINT = "stream:file?    fileName="+LOG_DIRECTORY +"/"+LOG_FILE+"&scanStream=true&scanStreamDelay=" + DELAY;
    private static final String DATABASE_ENDPOINT = "jpa:";


    @Override
    public void configure() throws Exception{
        fromF(LOG_FILE_ENDPOINT, LOG_DIRECTORY, LOG_FILE, DELAY)
            .convertBodyTo(String.class)                  // Converts input to String
            .choice().when(body().isGreaterThan(""))      // Ignores empty lines
            .bean(logLineRegexParser, "parse")            // Parses log entry into String map
            .bean(entityFactory, "createTimemeasurement") // Parses log entry into database format
            .split(body())
            .choice().when(body().isNotNull())
            .toF(DATABASE_ENDPOINT, body().getClass().toString())
            .routeId(PERFORMANCE_LOG_ROUTE_ID);
    }

    public String toString() {
        return PERFORMANCE_LOG_ROUTE_ID;
    }
}

xml:

<?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:camel="http://camel.apache.org/schema/spring"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

    <bean id="logparserRouteBean" class="no.osl.cdms.profile.routes.PerformanceLogRoute" />
<camelContext id="cdms-core-camel-context" xmlns="http://camel.apache.org/schema/spring">
    <routeBuilder ref="logparserRouteBean" />
</camelContext>

</beans>

現時点で見つけたのがこれ。私が覚えていることからすると、エラーの原因と同じですが、午前中に再確認します。

4

0 に答える 0