[ https://issues.apache.org/jira/browse/CAMEL-12343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16394891#comment-16394891 ]
ASF GitHub Bot commented on CAMEL-12343: ---------------------------------------- oscerd commented on issue #2252: CAMEL-12343 : refer to new constructor with defaultCamelContext for deprecated constructor URL: https://github.com/apache/camel/pull/2252#issuecomment-372211374 By the way, the deprecated constructors can be removed in 2.22.0, since we deprecated them in 2.20 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Using DefautMessage() and GenericFileMessage() without CamelContext throw > Exception > ----------------------------------------------------------------------------------- > > Key: CAMEL-12343 > URL: https://issues.apache.org/jira/browse/CAMEL-12343 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.20.0, 2.20.1, 2.20.2, 2.21.0 > Reporter: Farès Hassak > Priority: Major > > Hello, > I am using version 2.19.2 and try to migrate to version 2.20.2 (and then to > 2.21.0). > Using DefautMessage() and GenericFileMessage() without CamelContext throw > Exception : > {code:java} > java.lang.IllegalArgumentException: CamelContext must be specified on: > Message[] at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:342) > {code} > In version 2.20.0, I see that these constructor was deprecated and new > contructors was introduced for this new feature > https://issues.apache.org/jira/browse/CAMEL-11149 : > To remain better backward compatibility, i would suggest to refer the new > constructor in deprecated contructor : > {code:java} > @Deprecated > public DefaultMessage() { > this(new DefaultCamelContext()); //use new contructor with > DefaultCamelContext to avoid exception > } > public DefaultMessage(CamelContext camelContext) { > setCamelContext(camelContext); > } > {code} > {code:java} > @Deprecated > public GenericFileMessage() { > this(new DefaultCamelContext()); //use new contructor with > DefaultCamelContext to avoid exception > } > public GenericFileMessage(CamelContext camelContext) { > super(camelContext); > } > /** > * @deprecated use {@link #GenericFileMessage(CamelContext, GenericFile)} > */ > @Deprecated > public GenericFileMessage(GenericFile<T> file) { > this(new DefaultCamelContext(), file); //use new contructor with > DefaultCamelContext to avoid exception > } > public GenericFileMessage(CamelContext camelContext, GenericFile<T> file) > { > super(camelContext); > this.file = file; > } > {code} > Otherwise, the deprecated constructeur must be deleted in order to detect > errors at compile time and not at runtime. > Farès -- This message was sent by Atlassian JIRA (v7.6.3#76005)