Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Registry beans issues after upgrade from kamel 0.3.4 to kamel 1.0.0 M4 #1071

Closed
mathewsreji opened this issue Nov 21, 2019 · 3 comments
Closed

Comments

@mathewsreji
Copy link

This is follow up from #892

After the upgrade, I see the same set of DSLs (works great in kamel 0.3.4) gives me error with registry beans. Following are the artifacts I am trying to run

Routes

<?xml version="1.0" encoding="UTF-8"?>
<routes xmlns="http://camel.apache.org/schema/spring" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
   <route streamCache="true">
      <from uri="jetty:http://0.0.0.0:9090/address" />
      <log message="Received http request" />
      <to uri="sql:SELECT countryname, cityname from roma.address where postalcode = :#postalcode?dataSource=db5dc9a00fa7715b59aa24454c" />
      <convertBodyTo type="java.lang.String" />
   </route>
</routes>

Registry beans

import org.apache.commons.dbcp.*;
context {
 registry {
  db5dc9a00fa7715b59aa24454c = [driverClassName: 'com.mysql.jdbc.Driver', url: 'jdbc:mysql://10.213.96.182:3306/schema1', username: 'user1', password: '*********', ] as BasicDataSource
 }
}

App Error log :

[1] 2019-11-21 19:46:38.600 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.ContextConfigurer@7f552bd3
[1] 2019-11-21 19:46:38.611 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.RoutesConfigurer@35047d03
[1] 2019-11-21 19:46:38.613 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.RoutesDumper@4c9f8c13
[1] 2019-11-21 19:46:38.635 INFO  [main] RuntimeSupport - Looking up loader for language: xml
[1] 2019-11-21 19:46:38.648 INFO  [main] RuntimeSupport - Found loader org.apache.camel.k.loader.xml.XmlRoutesLoader@1cbbffcd for language xml from service definition
[1] 2019-11-21 19:46:38.653 INFO  [main] RoutesConfigurer - Loading routes from: file:/etc/camel/sources/i-source-000/i5dc9b197a7715b59aa24454e_route?language=xml
[1] 2019-11-21 19:46:38.653 INFO  [main] RuntimeSupport - Looking up loader for language: groovy
[1] 2019-11-21 19:46:39.076 INFO  [main] RuntimeSupport - Found loader org.apache.camel.k.loader.groovy.GroovyRoutesLoader@7f2cfe3f for language groovy from service definition
[1] 2019-11-21 19:46:39.478 INFO  [main] RoutesConfigurer - Loading routes from: file:/etc/camel/sources/i-source-001/i5dc9b197a7715b59aa24454e_beans?language=groovy
[1] 2019-11-21 19:46:39.478 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesConfigurer@35047d03 executed in phase ConfigureRoutes
[1] 2019-11-21 19:46:39.495 INFO  [main] BaseMainSupport - Using properties from: file:/etc/camel/conf/application.properties
[1] Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: Script1.context() is applicable for argument types: (Script1$_run_closure1) values: [Script1$_run_closure1@3db972d2]
[1] Possible solutions: collect(), collect(groovy.lang.Closure), notify(), collect(java.util.Collection, groovy.lang.Closure), inject(groovy.lang.Closure)
[1]     at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:70)
[1]     at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:76)
[1]     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
[1]     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
[1]     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
[1]     at Script1.run(Script1.groovy:2)
[1]     at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
[1]     at org.apache.camel.k.loader.groovy.GroovyRoutesLoader$1$_configure_closure1.doCall(GroovyRoutesLoader.groovy:57)
[1]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[1]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[1]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[1]     at java.lang.reflect.Method.invoke(Method.java:498)
[1]     at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
[1]     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
[1]     at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
[1]     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
[1]     at groovy.lang.Closure.call(Closure.java:405)
[1]     at groovy.lang.Closure.call(Closure.java:421)
[1]     at org.codehaus.groovy.runtime.IOGroovyMethods.withCloseable(IOGroovyMethods.java:1608)
[1]     at org.codehaus.groovy.runtime.dgm$913.doMethodInvoke(Unknown Source)
[1]     at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
[1]     at org.apache.camel.k.loader.groovy.GroovyRoutesLoader$1.configure(GroovyRoutesLoader.groovy:51)
[1]     at org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:471)
[1]     at org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:438)
[1]     at org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:418)
[1]     at org.apache.camel.impl.engine.AbstractCamelContext.lambda$addRoutes$0(AbstractCamelContext.java:1114)
[1]     at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2455)
[1]     at org.apache.camel.impl.engine.AbstractCamelContext.addRoutes(AbstractCamelContext.java:1114)
[1]     at org.apache.camel.main.RoutesConfigurer.configureRoutes(RoutesConfigurer.java:84)
[1]     at org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:549)
[1]     at org.apache.camel.main.BaseMainSupport.initCamelContext(BaseMainSupport.java:402)
[1]     at org.apache.camel.k.main.ApplicationRuntime$MainAdapter.doInit(ApplicationRuntime.java:168)
[1]     at org.apache.camel.support.service.ServiceSupport.init(ServiceSupport.java:62)
[1]     at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:90)
[1]     at org.apache.camel.main.MainSupport.run(MainSupport.java:77)
[1]     at org.apache.camel.k.main.ApplicationRuntime.run(ApplicationRuntime.java:70)
[1]     at org.apache.camel.k.main.Application.main(Application.java:42)
[1] 2019-11-21 19:46:41.056 INFO  [Camel Thread #0 - CamelHangupInterceptor] MainSupport$HangupInterceptor - Received hang up - stopping the main instance.

Would love to hear about any migration I must adopt in registry dsl representation part.

@lburgazzoli
Copy link
Contributor

The new options for the groovy dsl are listed in the groovy language guide: https://camel.apache.org/camel-k/latest/languages/groovy.html

@davsclaus
Copy link
Contributor

@mathewsreji
Copy link
Author

Thanks @davsclaus and @lburgazzoli . Your suggestions helped! Changed the dsl to following and it worked.

import org.apache.commons.dbcp.*;
beans {
 db5dc9a00fa7715b59aa24454c = [driverClassName: 'com.mysql.jdbc.Driver', url: 'jdbc:mysql://10.213.96.182:3306/schema1', username: 'user1', password: '********', ] as BasicDataSource
}

Cheers. Closing this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants