JAMES-2368 Add documentation on user defined listener registration.
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1094bf90 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1094bf90 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1094bf90 Branch: refs/heads/master Commit: 1094bf90d5b16f391f45566839c017f301c3aea5 Parents: 991194a Author: benwa <[email protected]> Authored: Wed May 2 12:21:22 2018 +0700 Committer: benwa <[email protected]> Committed: Fri May 4 13:39:07 2018 +0700 ---------------------------------------------------------------------- src/site/site.xml | 1 + src/site/xdoc/server/config-listeners.xml | 57 ++++++++++++++++++++++++++ src/site/xdoc/server/dev-extend.xml | 3 ++ src/site/xdoc/server/packaging.xml | 8 ++++ 4 files changed, 69 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/1094bf90/src/site/site.xml ---------------------------------------------------------------------- diff --git a/src/site/site.xml b/src/site/site.xml index c0915bc..1ed9248 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -134,6 +134,7 @@ <item name="Spring JPA Postgres" href="/server/config-spring-jpa-postgres.html" /> <item name="Quota" href="/server/config-quota.html" /> <item name="Events" href="/server/config-events.html" /> + <item name="Additional mailbox listeners" href="/server/config-listeners.html" /> </item> <item name="5. Manage" href="/server/manage.html" collapse="true" > <item name="WebAdmin" href="/server/manage-webadmin.html" /> http://git-wip-us.apache.org/repos/asf/james-project/blob/1094bf90/src/site/xdoc/server/config-listeners.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/server/config-listeners.xml b/src/site/xdoc/server/config-listeners.xml new file mode 100644 index 0000000..41bfece --- /dev/null +++ b/src/site/xdoc/server/config-listeners.xml @@ -0,0 +1,57 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<document> + + <properties> + <title>Apache James Server 3 - Listeners Configuration</title> + </properties> + + <body> + + <section name="Mailbox listeners Configuration"> + + <p> + Note: This feature requires Guice wiring. This is not implemented using Spring wiring.<br/> + Additionally, wiring not providing a mailbox support, like <code>jpa-smtp</code>, do not have support for + mailbox listeners configuration. + </p> + + <p>Consult <a href="https://github.com/apache/james-project/blob/master/dockerfiles/run/guice/cassandra/destination/conf/listeners.xml">listeners.xml</a> + to get some examples and hints.</p> + + <p>James Guice wiring allow the user to register potentially user defined additional mailbox listeners.</p> + + <p>To do so, just register the class that needs to be instantiated and added to global listeners. These JAR can be + part of James source code, or provided as an extension and thus should be located in the<code>extensions-jars</code> folder.</p> + + <ul> + Already provided listeners includes: + + <li><code>org.apache.james.mailbox.spamassassin.SpamAssassinListener</code>: + Provides per user real-time HAM/SPAM feedback to a SpamAssassin server depending on user actions. + For now it is only available on top of Cassandra-Guice wiring.</li> + <li><code>org.apache.james.mailbox.cassandra.MailboxOperationLoggingListener</code>: + For Cassandra guice wiring. Provides more insights on mailbox operations</li> + </ul> + </section> + + </body> + +</document> http://git-wip-us.apache.org/repos/asf/james-project/blob/1094bf90/src/site/xdoc/server/dev-extend.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/server/dev-extend.xml b/src/site/xdoc/server/dev-extend.xml index 0f2fb5b..2119429 100644 --- a/src/site/xdoc/server/dev-extend.xml +++ b/src/site/xdoc/server/dev-extend.xml @@ -58,6 +58,9 @@ <subsection name="Mailbox Listeners"> <p>See the <a href="http://james.apache.org/mailbox">mailbox</a> project for more information.</p> + + <p>See the <a href="http://james.apache.org/server/config-listeners.html">mailbox listeners</a> for configuring + additional mailbox listeners.</p> </subsection> http://git-wip-us.apache.org/repos/asf/james-project/blob/1094bf90/src/site/xdoc/server/packaging.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/server/packaging.xml b/src/site/xdoc/server/packaging.xml index ac25549..cf457aa 100644 --- a/src/site/xdoc/server/packaging.xml +++ b/src/site/xdoc/server/packaging.xml @@ -194,6 +194,14 @@ <td>No</td> </tr> <tr> + <td>User defined mailbox listener registration</td> + <td>No</td> + <td>Yes (master)</td> + <td>Yes (master)</td> + <td>Yes (master)</td> + <td>No</td> + </tr> + <tr> <td>Installation instructions</td> <td><a href="install.html">Here</a></td> <td><a href="install/guice-cassandra.html">Here</a></td> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
