Ich versuche, die Anzahl der Zeilen von einer SQL-Komponente mit der Eigenschaft header.CamelSqlRowCount ausgewählt. Der Wert wird jedoch leer. Ich fügte Spur hinzu, wie in einem anderen Beitrag erwähnt, um die Kopfzeilenwerte zu überprüfen, und nur breadcrumbId wird gedruckt. Kann mir jemand sagen, ob ich irgendetwas falsch mache?Apache Camel Wie kann ich auf die Header-Werte von einer SQL-Komponente zugreifen
Kamel Strecke
<endpoint id="sqlComponent" uri="sql:${sql.pollerQuery}?dataSource=DataSource&consumer.delay=60000&consumer.useIterator=false"/>
<route id="root">
<from ref="sqlComponent"/>
<log message="Received ${header.CamelSqlRowCount} records from the poller query"/>
<log message="Message Body= ${body}"/>
</route>
Die Spur angemeldet ist unter
DEBUG 2017-11-16 18:01:00 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Executing query: SELECT ID FROM TABLE WHERE PUBLISHED = 'N'
INFO 2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] ID-MyMachine >>> (root) from(sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'?consumer.delay=60000&consumer.useIterator=false&dataSource=odsDataSource) --> log[Received ${header.CamelSqlRowCount} records from the poller query] <<< Pattern:InOnly, Headers:{breadcrumbId=ID-MyMachine}, BodyType:java.util.ArrayList, Body:[{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]
INFO 2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Received records from the poller query
INFO 2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] ID-BLRKEC381989D-52624-1510835442422-0-2 >>> (root) log[Received ${header.CamelSqlRowCount} records from the poller query] --> log[Message Body= ${body}] <<< Pattern:InOnly, Headers:{breadcrumbId=ID-MyMachine}, BodyType:java.util.ArrayList, Body:[{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]
INFO 2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Message Body= [{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]
Camel-Version - 2.15.1
hast du das geprüft https://StackOverflow.com/questions/18572129/apache-camel-how-to-get-header-attributes-from-sql-component Vielleicht bekommst du einen Hinweis – pvpkiran
Versuche es mit einer neueren Version –
Ja, ich habe diesen Link überprüft. Das Problem dort war wegen Multicast. Ich hatte früher eine Split-Komponente in meiner Route. Nachdem ich das überprüft hatte, entfernte ich die geteilte Komponente und erstellte eine einfache Route wie oben gezeigt, um zu verifizieren, dass das Problem nicht auf die geteilte Komponente zurückzuführen ist. – Sarun