lsergio opened a new issue, #4547:
URL: https://github.com/apache/camel-k/issues/4547
Hi
I'm trying to run an integration using Camel-K 1.12.0 that serializes
java.time classes into json, and I'm having issues with the use of
javaTimeModule.
I created a small integration that reproduces the problem:
```
apiVersion: camel.apache.org/v1
kind: Integration
metadata:
name: poc-camel
spec:
sources:
- name: main.groovy
content: |-
class Test {
java.time.Instant now = java.time.Instant.now();
}
from("quartz://ipaas/trigger?cron=0+*+*+?+*+MON-FRI&trigger.timeZone=America/Sao_Paulo")
.process(ex -> ex.getOut().setBody(new Test()))
.marshal().json()
traits:
camel:
properties:
-
camel.dataformat.jackson.module-class-names=com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
```
When this integration runs, I get the following error:
```
2023-07-07 19:21:10,005 INFO
[org.apa.cam.k.cro.CronSourceLoaderInterceptor$CronShutdownStrategy] (Camel
(camel-1) thread #1 - timer://camel-k-cron-override) Initiate runtime shutdown
[7] 2023-07-07 19:21:10,015 WARN [org.apa.cam.com.tim.TimerConsumer] (Camel
(camel-1) thread #1 - timer://camel-k-cron-override) Error processing exchange.
Exchange[861D6E4EF7452F4-0000000000000000]. Caused by:
[com.fasterxml.jackson.databind.exc.InvalidDefinitionException - Java 8
date/time type `java.time.Instant` not supported by default: add Module
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
(through reference chain: Test["now"])]:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time
type `java.time.Instant` not supported by default: add Module
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
(through reference chain: Test["now"])
[7] at
com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
[7] at
com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1306)
[7] at
com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
[7] at
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:733)
[7] at
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:774)
[7] at
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)
[7] at
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
[7] at
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
[7] at
com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1572)
[7] at
com.fasterxml.jackson.databind.ObjectWriter._writeValueAndClose(ObjectWriter.java:1273)
[7] at
com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1098)
[7] at
org.apache.camel.component.jackson.AbstractJacksonDataFormat.marshal(AbstractJacksonDataFormat.java:155)
[7] at
org.apache.camel.support.processor.MarshalProcessor.process(MarshalProcessor.java:64)
[7] at
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:477)
[7] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
[7] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
[7] at org.apache.camel.processor.Pipeline.process(Pipeline.java:165)
[7] at
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:392)
[7] at
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:210)
[7] at
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76)
[7] at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
[7] at java.base/java.util.TimerThread.run(Timer.java:506)
```
As far as I understood,
camel.dataformat.jackson.module-class-names=com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
should handle this serializaion.
Could somebody help me understand what should be done to get this fixed?
Thanks!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]