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

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

Reply via email to