3. Have com.alibaba.dubbo.cache.filter.CacheFilter extend the o.a.d version
and mark it as @Deprecated.  This keeps API compatibility in place, and
encourages users to switch out.
-------
Does the compatible code need to be deleted before graduating or always
exist?

2018-03-20 10:10 GMT+08:00 John D. Ament <johndam...@apache.org>:

> On Mon, Mar 19, 2018 at 9:13 PM jun liu <ken.lj...@gmail.com> wrote:
>
> > > - Plan for a Dubbo 3.0 that does the full rename.
> >
> > 3.0 is on progress,  can be a milestone fully rename package.
> >
> > > - Any APIs a user may program against, leave as com.alibaba.dubbo,
> > anything
> > > internal start to rename to org.apache.dubbo.
> > > - Anything new added should be named as org.apache.dubbo instead of
> > > com.alibaba.dubbo.  This should start with the next release cycle.
> >
> > These two steps i think we can start from the next release cycle.
> >
> > > - One approach, a strangler pattern, would be to start to create
> > duplicates
> > > of each class in the org.apache.dubbo scheme, and have the existing
> > > com.alibaba.dubbo classes extend those.
> >
> > This part i don’t fully understand: will the  org.apache.dubbo duplicates
> > make any differences when we remove the com.alibaba.dubbo ones?
> >
> >
> Let's say you take CacheFilter as an example (just grabbed it at random
> more or less)
> https://github.com/apache/incubator-dubbo/blob/master/
> dubbo-filter/dubbo-filter-cache/src/main/java/com/
> alibaba/dubbo/cache/filter/CacheFilter.java
>
> 1. Create a class org.apache.dubbo.cache.filter.CacheFilter
> 2. Copy existing contents into it
> 3. Have com.alibaba.dubbo.cache.filter.CacheFilter extend the o.a.d
> version
> and mark it as @Deprecated.  This keeps API compatibility in place, and
> encourages users to switch out.
>
>
> >
> > > On 19 Mar 2018, at 7:56 PM, John D. Ament <johndam...@apache.org>
> wrote:
> > >
> > > We don't expect the rename of all packages to happen overnight, or in
> the
> > > first release.  It should be expected by the time you graduate from
> > > incubation that the rename is complete, or at least there's an
> > > understanding of how it's going to happen.  I would say that
> considering
> > > its using a company name the rename would block graduation.  Changing
> > group
> > > IDs should be simple as a first step.  What I would recommend:
> > >
> > > - Plan for a Dubbo 3.0 that does the full rename.
> > > - Any APIs a user may program against, leave as com.alibaba.dubbo,
> > anything
> > > internal start to rename to org.apache.dubbo.
> > > - Anything new added should be named as org.apache.dubbo instead of
> > > com.alibaba.dubbo.  This should start with the next release cycle.
> > > - One approach, a strangler pattern, would be to start to create
> > duplicates
> > > of each class in the org.apache.dubbo scheme, and have the existing
> > > com.alibaba.dubbo classes extend those.
> > >
> > > Happy to talk through more ideas, these are mostly shots in the dark
> > that I
> > > have seen work in other projects to some success.
> > >
> > > John
> > >
> > > On Mon, Mar 19, 2018 at 7:29 AM shang zonghai <yiji.git...@hotmail.com
> >
> > > wrote:
> > >
> > >>
> > >>
> > >>
> > >> 2. Shall we need to change all the java package name to org.apache.* ?
> > If
> > >> do this, users will encounter the upgrading problem.
> > >>
> > >>
> > >> The current package is com.alibaba.dubbo right?  Unfortunately this
> > puts us
> > >> into a "you have to rename it" situation.  Including the company name
> in
> > >> the package is a problem for our branding/trademarks.
> > >>
> > >>
> > >> 3. Now, our groupId is "com.alibaba", shall we need to change it to
> > >> "org.apache"?
> > >>
> > >>
> > >> Most projects follow a "org.apache.projectName" naming scheme.  So
> > >> org.apache.dubbo would be expected.
> > >>
> > >>
> > >>
> > >> Considering that a large number of users already use dubbo,Changing
> the
> > >> name of the package can lead to breaking the compatibility.
> > >>
> > >> for case 1:  New users use dubbo, we should do nothing.
> > >>
> > >>
> > >> case 2:     The user is convenient to upgrade dubbo to apache version(
> > >> change com.alibaba.xxx to com.apache.xx),  consumer and server
> upgrades
> > at
> > >> the same time.
> > >>
> > >> We can provide tools to automatically convert the package name, the
> name
> > >> of the extension interceptor, the package name of the xml
> configuration,
> > >> etc.
> > >>
> > >> case 3:   The user is convenient to upgrade dubbo to apache version(
> > >> change com.alibaba.xxx to com.apache.xx),  consumer and server can't
> > >> upgrades at the same time.
> > >>
> > >> This scenario is the most complicated, we should be compatible at the
> > >> source code level,and prompting future versions will remove the
> > compatible
> > >> code. It is recommended that you use this tool to manually convert old
> > code.
> > >>
> > >>
> >
> >
>

Reply via email to