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

Claus Ibsen commented on CAMEL-20840:
-------------------------------------

I assume this is fixed now

> Cannot cast ResumeActionAwareAdapter to KinesisResumeAdapter
> ------------------------------------------------------------
>
>                 Key: CAMEL-20840
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20840
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-aws2-kinesis
>    Affects Versions: 4.6.0
>            Reporter: Mark Wimpory
>            Assignee: Otavio Rodolfo Piske
>            Priority: Major
>             Fix For: 4.7.0
>
>         Attachments: camel-reproducer.zip
>
>
> When setting up the KinesisConsumer to use the KinesisResumeAdapter this 
> error is thrown.
> java.lang.ClassCastException: Cannot cast 
> org.apache.camel.support.resume.ResumeActionAwareAdapter to 
> org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeAdapter
>     at java.base/java.lang.Class.cast(Class.java:3889)
>     at 
> org.apache.camel.resume.ResumeStrategy.getAdapter(ResumeStrategy.java:62)
> I have isolated this to the following problem.
> The KinesisConsumer DOES NOT override the default method in ResumeAware that 
> specified the adapter name:
>  
> default String adapterFactoryService() {
> return "adapter-factory";
> }
>  
> This leads to a classpath clash with the camel-support jar that is also use 
> the name adapter-factory.  In this case the factory service when called for 
> Kinesis creates the wrong type of adapter as above.
>  
> Other Resumable consumers have renamed their factory files for instance the 
> file consumer uses file-adapter-factory.
>  
> I have created a work around locally (that I dont like) by creating in my own 
> classpath a duplicate of the adapter factory.  This is loaded in preference 
> to the jar resources but is not a perm fix.
>  
> The fix required is to: * Change the Kinesis2Consumer to override the method 
> above and return its own factory name such as kinesis-adapter-factory
>  * Change the build so that the adapter-factory file is replaced with 
> kinesis-adapter-factory



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to