-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JAMES-2886 Custome Guice injections in James extensions jar #2699
Conversation
test this please |
… extension jar
ab9c89e
to
6ec0e30
Compare
Just rebased |
… extension jar
… extension jar
test this please. But interesting to dig? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hardly missing some documentation :)
server/container/guice/guice-utils/src/test/java/org/apache/james/utils/ClassNameTest.java
Outdated
Show resolved
Hide resolved
...iner/guice/guice-utils/src/test/java/org/apache/james/utils/FullyQualifiedClassNameTest.java
Show resolved
Hide resolved
server/container/guice/guice-utils/src/test/java/org/apache/james/utils/PackageNameTest.java
Outdated
Show resolved
Hide resolved
server/container/guice/guice-utils/src/main/java/org/apache/james/utils/GuiceGenericLoader.java
Outdated
Show resolved
Hide resolved
server/container/guice/guice-utils/src/test/java/org/apache/james/utils/PackageNameTest.java
Outdated
Show resolved
Hide resolved
test this please |
test this please |
Merged |
Why did I work on this?
As a preparation for the ApacheCon, talk promoting James as a flexible and extensible email server, I intend to present the following use case:
(Then I will present other extensions (MailboxListener, ProtocolHandlers, PreDeletionHooks, etc...)
Why this work is different from the previous proposals?
Here it is important to notice, a child injector is used, and is specific to extensions (custom mailet, matchers, etc..).
Regular James entities are unaffected by these bindings that empower the user to write powerful extensions.
Furthermore, this enables to write extensions applying orthogonal architecture, and enables an easy packaging and distribution0
Final notes
I believe this is one of the missing building block for Guice adoption.
Remain work for this "ApacheCon" plan
Well, allow custom WebAdmin routes <3