Github user Jaskey commented on the issue:

    https://github.com/apache/incubator-rocketmq/pull/73
  
    @shroman 
    Sorry, I still cannot see the problem. No initialization are called inside 
the build method and only the outer class are returned.
     
    Do you concern about the properties ways or the code implementations or the 
functionality?
    
    If you are concerning about the property way, may be we can discuss more 
about it.
    
    But supportive to list of plugins instead of only one will help user easily 
to pile up their plugin components.
    
    As to the decorator pattern way, for example , user has three decorator 
plugins say DecoratedClassA, DecoratedClassB, DecoratedClassC, 
    
    when we write code we must write something like:
    
       MessageStore  c = //something here;
       DecoratedClassA c1 = new DecoratedClassA (c );
       DecoratedClassB c2 = new DecoratedClassB (c1 );
       DecoratedClassC c3 = new DecoratedClassB (c2 );
        
    
    and we just use c3 to do our jobs, which is exactly the same way as the 
current implementations except that rocketmq plugins have to use reflection to 
load class. 
    
    And if only one plugin is supported, the decorator has to be done by the 
developers, which is not friendly enough in my opinion



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to