You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2021/02/21 09:03:00 UTC

[jira] [Commented] (CAMEL-16243) camel-restlet : Compatibility issue of camel-restlet with camel-api library resulting in e "NoSuchMethodError:org.apache.camel.CamelContext.getRestConfiguration(Ljava/lang/String;Z)Lorg/apache/camel/spi/RestConfiguration" in RestletComponent class

    [ https://issues.apache.org/jira/browse/CAMEL-16243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287877#comment-17287877 ] 

Andrea Cosentino commented on CAMEL-16243:
------------------------------------------

3.0 Rc2 components can only be used with 3.0 Rc2 core. So it's normal it doesn't work with 3.2. restlest has been removed and you should use camel rest

> camel-restlet : Compatibility issue of camel-restlet with camel-api library resulting in e "NoSuchMethodError:org.apache.camel.CamelContext.getRestConfiguration(Ljava/lang/String;Z)Lorg/apache/camel/spi/RestConfiguration" in RestletComponent class
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-16243
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16243
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-restlet
>         Environment: Open JDK 11.0.2
>            Reporter: Pawan Mundhra
>            Priority: Major
>             Fix For: 3.x
>
>
>  
> Recently we upgraded our Application's overall camel version from 2.16.0 to 3.4.4
> One of the component we used in our Application was camel-restlet component (version 2.16.0). 
> Issue #1 : It seems camel removed the restlet component after 3.x. Could not find much documentation which would let us know how to migrate the existing camel-restlet component
> Issue #2 : We gave a try to upgrade the camel-restlet component to 3.0.0-RC2. But during start-up of our service, we faced an error as mentioned in the below stack trace.
> {code:java}
> Exception in thread "main" java.lang.NoSuchMethodError: org.apache.camel.CamelContext.getRestConfiguration(Ljava/lang/String;Z)Lorg/apache/camel/spi/RestConfiguration;
>         at org.apache.camel.component.restlet.RestletComponent.doStart(RestletComponent.java:215)
>         at org.apache.camel.support.service.BaseService.start(BaseService.java:115)
>         at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3026)
>         at org.apache.camel.impl.engine.AbstractCamelContext.startServices(AbstractCamelContext.java:3032)
>         at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2759)
>         at org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2658)
>         at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2621)
>         at org.apache.camel.support.service.BaseService.start(BaseService.java:115)
>         at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2453)
>         at com.nri.csd.inf.console.service.GatewayService.startCamelContextIfNotStarted(GatewayService.java:201)
>         at com.nri.csd.inf.console.service.GatewayService.postStart(GatewayService.java:100)
>         at com.nri.csd.inf.console.service.AbstractLaunchableService.start(AbstractLaunchableService.java:216)
>         at com.nri.csd.inf.console.ConsoleLauncher.main(ConsoleLauncher.java:96)
> {code}
> Found in the code that RestletComponent java class in camel-restlet-3.0.0-RC2 version has an API doStart() in which at line 215, there is a call to CamelContext class's method getRestConfiguration("restlet", true) (class in camel-api jar).
>  
> {code:java}
> 210    @Override
> 211    protected void doStart() throws Exception {
> 212        super.doStart();        
> 213   
> 214         // configure component options
> 215        RestConfiguration config = getCamelContext().getRestConfiguration("restlet", true);
> 216        // configure additional options on spark configuration
> 217        if (config.getComponentProperties() != null && !config.getComponentProperties().isEmpty()) {
> 218            setProperties(this, config.getComponentProperties());
> 219        }        
> 220            
> 221           cleanupConverters(enabledConverters);        
> 222              
> 223           component.start();     
> 2234   }
> {code}
> The API called at like 215 above (i.e. getRestConfiguration) seems to be removed by Camel during upgradation of camel-api to 3.2 from 3.1.
>  
> Refer this [https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_2.html]
> It seems that there is incompatibility with camel-restlet 3.0.0-RC2 along with Camel 3.2 and above.
>  
> One solution I can think of is revert the downgrade the Camel version to 3.1 instead of 3.4 which we would like to avoid.
> Please suggest what course of action can be taken for this issue with minimum impact or what is the compatibility of camel-restlet and other camel components.
>  



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