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.
---