FailedToCreateRouteException: 无法创建路由.. at: >>> SetHeader[null, constant{}] <<< in route: because headerName must be specified
FailedToCreateRouteException: Failed to create route.. at: >>> SetHeader[null, constant{}] <<< in route: because of headerName must be specified
我正在创建这样的路线:
<routes xmlns="http://camel.apache.org/schema/spring">
<route id="ESP_01.Handle_Movement">
<from uri="mqtt:ESP_01.Handle_Movement?host=tcp://localhost:1883&subscribeTopicName=ESP_01/Handle Movement&version=3.1&maxReadRate=0&qualityOfService=AtLeastOnce" />
<to uri="micrometer:timer:camel.proxy.mqtt.kafka.stream?action=start" />
<to uri="log://camel.proxy?groupInterval=3&level=INFO" />
<to uri="kafka://ESP_01.Handle_Movement?brokers=localhost:9092" />
<to uri="micrometer:timer:camel.proxy.mqtt.kafka.stream?action=stop" />
<to uri="micrometer:timer:camel.proxy.cache?action=start" />
<setHeader name="CamelCacheKey">
<constant>Test ESP_01.Handle_Movement</constant>
</setHeader>
<setHeader name="CamelCacheOperation">
<constant>Update</constant>
</setHeader>
<to uri="cache://Test ESP_01.Handle_Movement?maxElementsInMemory=10&eternal=true" />
<to uri="micrometer:timer:camel.proxy.cache?action=stop" />
</route>
</routes>
我有
<setHeader name="CamelCacheKey">
<constant>Test ESP_01.Handle_Movement</constant>
</setHeader>
<setHeader name="CamelCacheOperation">
<constant>Update</constant>
</setHeader>
根据 example,但是我从标题中收到错误消息,指出缺少已存在的名称参数:
org.apache.camel.FailedToCreateRouteException: Failed to create route ESP_01.Handle_Movement at: >>> SetHeader[null, constant{Test ESP_01.Handle_Movement}] <<< in route: Route(ESP_01.Handle_Movement)[[From[mqtt:ESP_01.Handle_Movem... because of headerName must be specified
这可能是由于 2.24.3
的错误所致
在Spring DSL中验证的参数是name
,而在header的class中参数名称是headerName
,即设置为空。如果我尝试在 Spring DSL 中使用 headerName
参数,我会收到此错误:
"org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 633; cvc-complex-type.3.2.2: Attribute 'headerName' is not allowed to appear in element 'setHeader'.",
我正在创建这样的路线:
<routes xmlns="http://camel.apache.org/schema/spring">
<route id="ESP_01.Handle_Movement">
<from uri="mqtt:ESP_01.Handle_Movement?host=tcp://localhost:1883&subscribeTopicName=ESP_01/Handle Movement&version=3.1&maxReadRate=0&qualityOfService=AtLeastOnce" />
<to uri="micrometer:timer:camel.proxy.mqtt.kafka.stream?action=start" />
<to uri="log://camel.proxy?groupInterval=3&level=INFO" />
<to uri="kafka://ESP_01.Handle_Movement?brokers=localhost:9092" />
<to uri="micrometer:timer:camel.proxy.mqtt.kafka.stream?action=stop" />
<to uri="micrometer:timer:camel.proxy.cache?action=start" />
<setHeader name="CamelCacheKey">
<constant>Test ESP_01.Handle_Movement</constant>
</setHeader>
<setHeader name="CamelCacheOperation">
<constant>Update</constant>
</setHeader>
<to uri="cache://Test ESP_01.Handle_Movement?maxElementsInMemory=10&eternal=true" />
<to uri="micrometer:timer:camel.proxy.cache?action=stop" />
</route>
</routes>
我有
<setHeader name="CamelCacheKey">
<constant>Test ESP_01.Handle_Movement</constant>
</setHeader>
<setHeader name="CamelCacheOperation">
<constant>Update</constant>
</setHeader>
根据 example,但是我从标题中收到错误消息,指出缺少已存在的名称参数:
org.apache.camel.FailedToCreateRouteException: Failed to create route ESP_01.Handle_Movement at: >>> SetHeader[null, constant{Test ESP_01.Handle_Movement}] <<< in route: Route(ESP_01.Handle_Movement)[[From[mqtt:ESP_01.Handle_Movem... because of headerName must be specified
这可能是由于
在Spring DSL中验证的参数是name
,而在header的class中参数名称是headerName
,即设置为空。如果我尝试在 Spring DSL 中使用 headerName
参数,我会收到此错误:
"org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 633; cvc-complex-type.3.2.2: Attribute 'headerName' is not allowed to appear in element 'setHeader'.",