[
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)