Author: btellier Date: Sun Nov 29 15:45:05 2015 New Revision: 1717082 URL: http://svn.apache.org/viewvc?rev=1717082&view=rev Log: MAILBOX-211 Adding configuration files for Spring docker container
Added: james/project/trunk/dockerfiles/run/spring/destination/conf/events.properties james/project/trunk/dockerfiles/run/spring/destination/conf/events.xml Added: james/project/trunk/dockerfiles/run/spring/destination/conf/events.properties URL: http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/spring/destination/conf/events.properties?rev=1717082&view=auto ============================================================================== --- james/project/trunk/dockerfiles/run/spring/destination/conf/events.properties (added) +++ james/project/trunk/dockerfiles/run/spring/destination/conf/events.properties Sun Nov 29 15:45:05 2015 @@ -0,0 +1,42 @@ +# 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. +# + +# This template file can be used as example for James Server configuration +# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS + +# The following properties needs to be set +# if you want to use Kafka for inter node messaging for your event system. +# +# This needs to be done if you used <publisher>kafka</publisher> in event.xml + +kafka.ip=127.0.0.1 +kafka.port=9092 +zookeeper.connection.string=localhost +group.id=azerty +event.thread.count=4 + +# This property needs to be set if you want to use the Broadcast Mailbox Delegating Listener + +global.topic=JAMES_TOPIC + +distant.mailbox.path.register.max.retries=100 +distant.mailbox.path.register.refresh=900 + +# Worker threads count for asynchronous event delivery + +event.delivery.thread.count=10 Added: james/project/trunk/dockerfiles/run/spring/destination/conf/events.xml URL: http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/spring/destination/conf/events.xml?rev=1717082&view=auto ============================================================================== --- james/project/trunk/dockerfiles/run/spring/destination/conf/events.xml (added) +++ james/project/trunk/dockerfiles/run/spring/destination/conf/events.xml Sun Nov 29 15:45:05 2015 @@ -0,0 +1,90 @@ +<?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. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<events> + <!-- By default the event system is in memory based, providing better performances but is not + distributed and won't do the work with multiples servers --> + <type>default</type> + + <!-- Do you want to wait for MailboxListeners to be executed before returning result to the user ? + + If yes set this to synchronous + If no set this to asynchronous + If you want to use default supported behaviour exposed by listeners set this to mixed + --> + <delivery>synchronous</delivery> + + <!-- Broadcast event system will send messages to all your James servers. + + It is the only viable options if you rely on Mailbox Listeners that do not perform well in a distributed system. + + Here follows a non exhaustive list of such Mailbox Listeners : + - Memory quota based system + - Lucene based search system + + Workload is higher because event needs to be serialized and de serialized. + + Also note that depending on the publisher you use, messages might be either lost or duplicated, implying wrong + indexing or wrong quota count on network partitions. + + Here follows a sample configuration : + --> + <!-- + <type>broadcast</type> + <serialization>json</serialization> + <publisher>kafka</publisher> + --> + + <!-- + Further notes on the choice you had here : + + serialization : you have to choices : either json or message-pack + + message-pack is a binary representation for json, and is 2 times lighter by average, but is 2 time slower to serialize and de serialize. + This choice allows you to trade compute against network. + + publisher : Publish - subscribe used. The only current implementation is Kafka. + --> + + <!-- Registered event system + + Scalable event system based on registration : each James server listen on his own topic and manage registrations on + mailbox paths in order to receive events interesting him. + + This configuration does not support distributed unfriendly Mailbox Listeners (see the non exhaustive list above) for obvious reasons. + --> + <!-- + <type>registered</type> + <serialization>json</serialization> + <registration>cassandra</registration> + <publisher>kafka</publisher> + --> + + <!-- + The only registration system available is Cassandra, used in an available fashion. This means there is no warranties, + either at least one delivery nor at most one delivery. But you get the certitude that the system will always be available. + --> + +</events> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org