funktionio / funktion-connectors Goto Github PK
View Code? Open in Web Editor NEWfunktion is an open source lambda style event driven programming model for Kubernetes
Home Page: https://funktion.fabric8.io/
License: Apache License 2.0
funktion is an open source lambda style event driven programming model for Kubernetes
Home Page: https://funktion.fabric8.io/
License: Apache License 2.0
so that folks can create empty projects and use them
would be really handy for doing designers so that folks could make small changes & have it reflected immediately in the runtime in development
Is funktion-connectors and funktion a version that is implemented in different languages?
As we are on 1.1 versions so its a bit confusing that its still 1.0-SNAPSHOT.
@jstrachan any release you remember why we are on 1.0-SNAPSHOT here. The latest release is 1.1.44.
for the steps such as filter, choice etc its hardcoded to jsonpath as the languge.
We should allow to define what language we want to use, so we can do simple, xpath and others as well
We could have examples for using groovy and kotlin as source code
There is support for this at:
https://github.com/fabric8io/funktion/tree/master/starter-parent
But we need an example at:
https://github.com/fabric8io/funktion/tree/master/examples
fission looks a great way to take functions in scripting languages like nodejs / ruby / python and turn them into HTTP services:
http://fission.io/
it'd be nice to reuse funktion's ability to deal with gazillions of different kinds of input events (salesforce, JMS, AMQP, SQS, Kafka et al...) and trigger any HTTP endpoints; then folks could use fission to write functions invoked by HTTP; then use funktion to deal with the event handling!
So we should maybe create a Subscription Manager
which is a kind of Operator of event subscriptions.
e.g. you create a Subscription
which is a ThirdPartyResource
which defines the input event URL for email / AMQP / MQTT / NATS / Kafka or whatever, and thats bridged to one or more HTTP endpoints.
We then have a subscription operator
which watches for add/update/delete of the Subscriptions and for each Subscription
we create a Deployment
which creates a microservice that consumes on the endpoint and invokes one or more HTTP endpoints.
Maybe once we've got this then fission could add an extra URL parameter so that a fission funktion can be exposed on both HTTP and, say, Kafka?
The normal routes that SpringBoot exposes do not seem available, e.g, /beans, /info, /metrics, /health. etc. Am I doing something wrong? Is this intentional?
right now we're using netty4 for camel's port (8080) and spring-boot-web (which uses tomcat) for 8081.
It would be nice to reuse the same underlying web server code to reduce footprint; while letting the funktion.yml
enable/disable the camel http capability and port.
more of an optimisation really ;)
it'd then be much easier to render in UIs and tools (e.g. web consoles) - as rendering asciidoc is not the most trivial of things?
For some cases, where you are creating a non REST based funktion, it would be nice not to have embedded Tomcat start. Pondering best way to disable - property maybe ?
this will help with #143 and the https://github.com/fabric8io/funktion-operator
if you change the kotlin sample app to use a top level function like this
fun main(body: String, @Header("name") name: String): String {
return "Hello ${name}! I got payload `${body}` and I am on host: ${System.getenv("HOSTNAME")} and I am kotlin!"
}
then when you run it you get an error.
I wonder if this is a bug in camel trying to instantiate a class which does't have a contructor?
2016-06-02 15:14:31.397 ERROR 18946 --- [ main] o.s.boot.SpringApplication : Application startup failed
org.apache.camel.spring.boot.CamelSpringBootInitializationException: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[class:io.fabric8.funktion.example.MainKt?method=main] <<< in route: Route(route1)[[From[netty4-http:http://0.0.0.0:8080]] -> [To... because of Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:126) ~[camel-spring-boot-2.17.0.jar:2.17.0]
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:41) ~[camel-spring-boot-2.17.0.jar:2.17.0]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:335) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:855) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE]
at org.apache.camel.spring.boot.FatJarRouter.main(FatJarRouter.java:26) [camel-spring-boot-2.17.0.jar:2.17.0]
at io.fabric8.funktion.runtime.Main.main(Main.java:43) [funktion-runtime-1.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478) [spring-boot-maven-plugin-1.3.3.RELEASE.jar:1.3.3.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[class:io.fabric8.funktion.example.MainKt?method=main] <<< in route: Route(route1)[[From[netty4-http:http://0.0.0.0:8080]] -> [To... because of Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1072) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3295) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3018) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2848) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2844) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2867) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2844) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2813) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:116) ~[camel-spring-boot-2.17.0.jar:2.17.0]
... 18 common frames omitted
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:588) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:62) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069) ~[camel-core-2.17.0.jar:2.17.0]
... 30 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:236) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:342) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
at org.apache.camel.spring.spi.SpringInjector.newInstance(SpringInjector.java:39) ~[camel-spring-2.17.0.jar:2.17.0]
at org.apache.camel.component.beanclass.ClassComponent.createEndpoint(ClassComponent.java:48) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:114) ~[camel-core-2.17.0.jar:2.17.0]
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:568) ~[camel-core-2.17.0.jar:2.17.0]
... 40 common frames omitted
2016-06-02 15:14:31.402 INFO 18946 --- [ main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/workspace/java/funktion-kotlin-example/target/classes/, file:/Users/jstrachan/.m2/repository/org/springframework/spring-expression/4.2.5.RELEASE/spring-expression-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.11/jaxb-core-2.2.11.jar, file:/Users/jstrachan/.m2/repository/org/springframework/spring-tx/4.2.5.RELEASE/spring-tx-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/springframework/spring-aop/4.2.5.RELEASE/spring-aop-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/Users/jstrachan/.m2/repository/org/hibernate/hibernate-validator/5.2.4.Final/hibernate-validator-5.2.4.Final.jar, file:/Users/jstrachan/.m2/repository/org/springframework/spring-beans/4.2.5.RELEASE/spring-beans-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar, file:/Users/jstrachan/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.4/jackson-databind-2.6.4.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-starter-actuator/1.3.5.RELEASE/spring-boot-starter-actuator-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/apache/camel/camel-core/2.17.0/camel-core-2.17.0.jar, file:/Users/jstrachan/.m2/repository/org/apache/camel/camel-spring/2.17.0/camel-spring-2.17.0.jar, file:/Users/jstrachan/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.6.4/jackson-dataformat-yaml-2.6.4.jar, file:/Users/jstrachan/.m2/repository/commons-pool/commons-pool/1.6/commons-pool-1.6.jar, file:/Users/jstrachan/.m2/repository/org/slf4j/jul-to-slf4j/1.7.12/jul-to-slf4j-1.7.12.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-starter-validation/1.3.5.RELEASE/spring-boot-starter-validation-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.3.5.RELEASE/spring-boot-autoconfigure-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/springframework/spring-core/4.2.5.RELEASE/spring-core-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-actuator/1.3.5.RELEASE/spring-boot-actuator-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar, file:/Users/jstrachan/.m2/repository/com/fasterxml/classmate/1.1.0/classmate-1.1.0.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-starter/1.3.3.RELEASE/spring-boot-starter-1.3.3.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.0.33/tomcat-embed-el-8.0.33.jar, file:/Users/jstrachan/.m2/repository/io/fabric8/funktion/funktion-runtime/1.0-SNAPSHOT/funktion-runtime-1.0-SNAPSHOT.jar, file:/Users/jstrachan/.m2/repository/org/jetbrains/kotlin/kotlin-runtime/1.0.2/kotlin-runtime-1.0.2.jar, file:/Users/jstrachan/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.11/jaxb-impl-2.2.11.jar, file:/Users/jstrachan/.m2/repository/org/apache/camel/camel-spring-boot/2.17.0/camel-spring-boot-2.17.0.jar, file:/Users/jstrachan/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.0.2/kotlin-stdlib-1.0.2.jar, file:/Users/jstrachan/.m2/repository/io/netty/netty-all/4.0.34.Final/netty-all-4.0.34.Final.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot/1.3.5.RELEASE/spring-boot-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/apache/camel/camel-netty4/2.17.0/camel-netty4-2.17.0.jar, file:/Users/jstrachan/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.4/jackson-annotations-2.6.4.jar, file:/Users/jstrachan/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.3.5.RELEASE/spring-boot-starter-logging-1.3.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar, file:/Users/jstrachan/.m2/repository/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar, file:/Users/jstrachan/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar, file:/Users/jstrachan/.m2/repository/org/apache/camel/camel-netty4-http/2.17.0/camel-netty4-http-2.17.0.jar, file:/Users/jstrachan/.m2/repository/org/springframework/spring-context/4.2.5.RELEASE/spring-context-4.2.5.RELEASE.jar, file:/Users/jstrachan/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.21/jcl-over-slf4j-1.7.21.jar, file:/Users/jstrachan/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.21/log4j-over-slf4j-1.7.21.jar, file:/Users/jstrachan/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.6.4/jackson-core-2.6.4.jar, file:/Users/jstrachan/.m2/repository/org/jboss/logging/jboss-logging/3.3.0.Final/jboss-logging-3.3.0.Final.jar]
[WARNING]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.camel.spring.boot.CamelSpringBootInitializationException: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[class:io.fabric8.funktion.example.MainKt?method=main] <<< in route: Route(route1)[[From[netty4-http:http://0.0.0.0:8080]] -> [To... because of Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:126)
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:41)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:335)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:855)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.apache.camel.spring.boot.FatJarRouter.main(FatJarRouter.java:26)
at io.fabric8.funktion.runtime.Main.main(Main.java:43)
... 6 more
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[class:io.fabric8.funktion.example.MainKt?method=main] <<< in route: Route(route1)[[From[netty4-http:http://0.0.0.0:8080]] -> [To... because of Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1072)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)
at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3295)
at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3018)
at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2848)
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2844)
at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2867)
at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2844)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2813)
at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:116)
... 18 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: class://io.fabric8.funktion.example.MainKt?method=main due to: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:588)
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79)
at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211)
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107)
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113)
at org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:62)
at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56)
at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534)
at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495)
at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069)
... 30 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'io.fabric8.funktion.example.MainKt': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:236)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:342)
at org.apache.camel.spring.spi.SpringInjector.newInstance(SpringInjector.java:39)
at org.apache.camel.component.beanclass.ClassComponent.createEndpoint(ClassComponent.java:48)
at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:114)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:568)
... 40 more
So it auto registers itself so users can build apps using a regular spring boot application
https://github.com/redhat-ipaas/http-pull-push-example
fabric8 has a BOM that brings in the kitchen sink which is bad.
Users should be able to easily use what Camel version they want. But its a hazzle with the fabric8/funktion BOM that police everything and then shadow what you want to use so you end up with mixed versions.
The FarJarRouter is deprecated and removed in 2.19
https://github.com/funktionio/funktion-connectors/blob/master/funktion-runtime/src/main/java/io/fabric8/funktion/runtime/FunktionRouteBuilder.java#L73
this will be handy for #143
Hi
Just a heads up that in Camel 2.19 where connectors comes OOTB we have refined the model to require a connector to specify its input and output data type.
The doc here explains a bit more
https://github.com/apache/camel/blob/master/connectors/camel-connector/src/main/docs/connector-component.adoc#input-and-output-data-type
For all these generated connectors in this project, you could just add
"inputDataType": "any",
"outputDataType": "any",
Then its open ended and they can be used by Camel.
Just a little heads-up @jstrachan
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.