diff --git a/akka-docs/general/code/akka/docs/config/ConfigDoc.java b/akka-docs/general/code/akka/docs/config/ConfigDoc.java new file mode 100644 index 0000000000..971370192d --- /dev/null +++ b/akka-docs/general/code/akka/docs/config/ConfigDoc.java @@ -0,0 +1,30 @@ +/** + * Copyright (C) 2009-2012 Typesafe Inc. + */ +package akka.docs.config; + +public class CustomConfig { + public ActorSystem createConfiguredSystem() { + //#java-custom-config + // make a Config with just your special setting + Config myConfig = + ConfigFactory.parseString("something=somethingElse"); + // load the normal config stack (system props, + // then application.conf, then reference.conf) + Config regularConfig = + ConfigFactory.load(); + // override regular stack with myConfig + Config combined = + myConfig.withFallback(regularConfig); + // put the result in between the overrides + // (system props) and defaults again + Config complete = + ConfigFactory.load(combined); + // create ActorSystem + ActorSystem system = + ActorSystem.create("myname", complete); + //#java-custom-config + return system; + } +} + diff --git a/akka-docs/general/configuration.rst b/akka-docs/general/configuration.rst index a8746e06a4..1c470432cc 100644 --- a/akka-docs/general/configuration.rst +++ b/akka-docs/general/configuration.rst @@ -159,25 +159,8 @@ you could put a config string in code using You can also combine your custom config with the usual config, that might look like: -.. code-block:: java - - // make a Config with just your special setting - Config myConfig = - ConfigFactory.parseString("something=somethingElse"); - // load the normal config stack (system props, - // then application.conf, then reference.conf) - Config regularConfig = - ConfigFactory.load(); - // override regular stack with myConfig - Config combined = - myConfig.withFallback(regularConfig) - // put the result in between the overrides - // (system props) and defaults again - Config complete = - ConfigFactory.load(combined) - // create ActorSystem - ActorSystem system = - ActorSystem.create("myname", complete) +.. includecode:: code/akka/docs/config/ConfigDoc.java + :include: java-custom-config When working with ``Config`` objects, keep in mind that there are three "layers" in the cake: @@ -198,7 +181,6 @@ To stack two layers, use ``override.withFallback(fallback)``; try to keep system props (``defaultOverrides()``) on top and ``reference.conf`` (``defaultReference()``) on the bottom. - Custom application.conf -----------------------