You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Gonzalo Mendoza (Jira)" <ji...@apache.org> on 2020/09/22 19:44:00 UTC

[jira] [Created] (CAMEL-15569) Nullpointer exception at Timer component

Gonzalo Mendoza created CAMEL-15569:
---------------------------------------

             Summary: Nullpointer exception at Timer component
                 Key: CAMEL-15569
                 URL: https://issues.apache.org/jira/browse/CAMEL-15569
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 3.5.0
         Environment: *Java*

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

 

*Gradle 6.5*
            Reporter: Gonzalo Mendoza
             Fix For: Future
         Attachments: Screenshot from 2020-09-22 16-42-44.png

I'm trying to implement a timer using Camel 3.5 at Gradle project with OpenJDK8 as next
{code:java}
from("timer://watchexpiration?fixedRate=true&period=600000&delay=0")...
{code}
But, after build the fat jar using 
1. Build with:  {code}./gradlew build{code} 
2. Run with:  {code}java -jar build/libs/app.jar{code}

After that  I receive the next error at console
{code:java}
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: timer://watchexpiration?delay=0&fixedRate=true&period=600000 due to: Error binding property (delay=0) with name: delay on bean: timer://watchexpiration?delay=0&fixedRate=true&period=600000 with value: 0
    at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:888)
    at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:777)
    at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:58)
    at org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:177)
    at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:250)
    at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:112)
{code}
But If I run using {code}./gradlew run{code} then works fine as I expected. I don't want to use any frameworks for this project. I feel this is just a config issue or something is wrong with my configuration I guess.

How can I fix it?

*build.gradle*
{code:java}
 plugins {
    id 'java'
    id 'application'
    id 'com.github.sherter.google-java-format' version '0.8'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:29.0-jre'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'
    // Camel
    compile group: 'org.apache.camel', name: 'camel-core', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-file', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-file-watch', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-xstream', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-gson', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-rest', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-servlet', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-http', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-jackson', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-quartz', version: '3.5.0'
    compile group: 'org.apache.camel', name: 'camel-timer', version: '3.5.0'

    compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.30'
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'

    // Dev Libs
    compileOnly("org.projectlombok:lombok:1.18.12")
    annotationProcessor("org.projectlombok:lombok:1.18.12")

    compile group: 'org.apache.commons', name: 'commons-csv', version: '1.4'
}

application {
    mainClassName = 'com.eip.App'
}

configurations {
    // configuration that holds jars to include in the jar
    extraLibs
}

jar {
    manifest {
        attributes(
                'Main-Class': 'com.beam.agent.App'
        )
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

test {
    useJUnitPlatform()
}

googleJavaFormat {
    exclude '**/App.java'
}

{code}



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