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: commits-unsubscr...@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to