[ 
https://issues.apache.org/jira/browse/CAMEL-15841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrea Cosentino resolved CAMEL-15841.
--------------------------------------
    Resolution: Invalid

> logging empties message body?
> -----------------------------
>
>                 Key: CAMEL-15841
>                 URL: https://issues.apache.org/jira/browse/CAMEL-15841
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 3.5.0
>         Environment: my project is attached
>            Reporter: Vyacheslav Boyko
>            Priority: Major
>         Attachments: egais-connector.7z
>
>
> my build.gradle is
> {code}
> plugins {
>       id 'org.springframework.boot' version '2.3.5.RELEASE'
>       id 'io.spring.dependency-management' version '1.0.10.RELEASE'
>       id 'java'
> }
> group = 'com.bvn13'
> version = '0.0.1-SNAPSHOT'
> sourceCompatibility = '11'
> configurations {
>       compileOnly {
>               extendsFrom annotationProcessor
>       }
> }
> repositories {
>       mavenCentral()
> }
> dependencies {
>       //implementation 
> 'org.springframework.boot:spring-boot-starter-thymeleaf'
>       //implementation 'org.springframework.boot:spring-boot-starter-web'
>       implementation 
> 'org.apache.camel.springboot:camel-spring-boot-starter:3.5.0'
>       implementation 'org.apache.camel:camel-http:3.5.0'
>       implementation 'org.apache.camel:camel-jetty:3.5.0'
>       implementation 'org.apache.camel:camel-gson:3.5.0'
>       
>       compileOnly 'org.projectlombok:lombok'
>       annotationProcessor 'org.projectlombok:lombok'
>       testImplementation('org.springframework.boot:spring-boot-starter-test') 
> {
>               exclude group: 'org.junit.vintage', module: 
> 'junit-vintage-engine'
>       }
> }
> test {
>       useJUnitPlatform()
> }
> {code}
> my route builder is:
> {code:java}
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.model.dataformat.JsonLibrary;
> import org.springframework.beans.factory.annotation.Value;
> import org.springframework.stereotype.Component;
> import lombok.extern.slf4j.Slf4j;
> @Slf4j
> @Component
> public class EgaisExpirationDateSearcher extends RouteBuilder {
>     private final String host;
>     private final int port;
>     
>     private final String searchEndpoint;
>     public EgaisExpirationDateSearcher(
>             @Value("${app.listen.host}") String host,
>             @Value("${app.listen.port}") int port) {
>         this.host = host;
>         this.port = port;
>         searchEndpoint = "jetty:http://"+host+":"+port+"/expire";;
>         
>         log.info("Listening at: {}", searchEndpoint);
>     }
>     @Override
>     public void configure() throws Exception {
>         
>         from(searchEndpoint+"?httpMethodRestrict=POST")
>             .log("${body}")  // <-----------------
>             .unmarshal().json(JsonLibrary.Gson, SearchRequest.class)
>             .log("${body}")
>             .process((exchange) -> {
>                 exchange.getMessage().setBody("HI!");
>             })
>             ;
>         
>         
>     }
> }
> {code}
> my application properties are:
> {code}
> app:
>   listen:
>     host: localhost
>     port: 9091
> {code}
> I have an object as request body:
> {code:java}
> import lombok.Value;
> @Value
> public class SearchRequest {
>     String contraInn;
>     String alcoGoodName;
> }
> {code}
> I perform POST HTTP request like
> {code:bash}
> curl -X POST -H "Content-Type: application/json" -d 
> '{"contraInn":123,"alcoGoodName":"name"}' http://localhost:9091/expire
> {code}
> now take a look at pointed line in route builder: 
> {code:java}
> .log("${body}")  // <-----------------
> {code}
> if I comment this line (disable logging) the log has following lines:
> {code}
> 2020-11-10 22:07:52.172  INFO 1344 --- [           main] 
> c.b.b.e.EgaisConnectorApplication        : Started EgaisConnectorApplication 
> in 2.003 seconds (JVM running for 2.982)
> 2020-11-10 22:11:05.575  INFO 1344 --- [tp1753113235-31] route2               
>                     : com.bvn13.beerspot.egaisconnector.SearchRequest@2d34001a
> {code}
> but when I uncomment pointed line the body seems become empty right after 
> logging:
> {code}
> 2020-11-10 22:12:40.284  INFO 10924 --- [           main] 
> c.b.b.e.EgaisConnectorApplication        : Started EgaisConnectorApplication 
> in 1.932 seconds (JVM running for 2.78)
> 2020-11-10 22:12:46.854  INFO 10924 --- [qtp216919586-31] route2              
>                      : {"contraInn":123,"alcoGoodName":"name"}
> 2020-11-10 22:12:46.857  INFO 10924 --- [qtp216919586-31] route2              
>                      : null
> {code}
> First log message is logged as arrived, then emptied (?), unmarshalled to 
> null and logged out as null.
> Is it normal?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to