Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Information Provided
-
3.5.0
-
None
-
None
-
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
Description
I'm trying to implement a timer using Camel 3.5 at Gradle project with OpenJDK8 as next
from("timer://watchexpiration?fixedRate=true&period=600000&delay=0")...
But, after build the fat jar using
1. Build with:
./gradlew build
2. Run with:
java -jar build/libs/app.jar
After that I receive the next error at console
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)
But If I run using
./gradlew run
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
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' }