We built our own tool using zookeeper. We need to manage clusters of nodes, 
clearly
property files were not scalable enough to be of any help here.

All the configuration values are written using Clojure expressions, not just 
EDN like
stuff, we do eval code loaded in the configuration to provide extensibility.

We wrote a DSL to maintain the configuration. You can then implement versioning,
rollbacks, .... whatever features you may need.

When a node boots, it needs a 4 lines property file to find its root in the 
cluster
configuration. Any process on the node pulls it's configuration from this root.

This approach might be too heavy for your needs however.

Luc P.


> After suffer xml or properties configuration for long time, I'm looking for 
> a new configuration solution for Clojure or Java. I hope below features, 
> priority from high to low:
> 
> 1. readable format and easy to write. XML is the opposite example, which is 
> not easy to edit and not readable. I like Json or YAML, especially JSON. 
> 2. support difference environments. The difficult things I have are 
> distributes difference package for difference environments (dev, gamma or 
> online). My practice are write difference set of configuration files for 
> each environment, for example we have database-dev.properties and 
> database-online.properties for respectively dev and online environment, 
> then pass a argument to startup script to control which file to load. it's 
> just work, but the problem are there are only small part of config is 
> difference between and dev and online, but I have to rewrite and maintain 
> all config in two files.
> 3. easy to organize if there are a lot of configuration files. It's very 
> common that there are many configurations distributes in difference files. 
> Sometimes one file's configuration need override another. we need a 
> solution to management them.
> 4. we can very easy override configuration by CLI argument or system 
> environment variable. Sometimes we have to temporarily change configuration 
> for debug or troubleshooting purpose. I hope we can easy to override 
> configuration not change the configuration files.
> 
> For the #1, the HOCON ( https://github.com/typesafehub/config ) is the best 
> config syntax what I have ever seen. But I didn't find out a solution which 
> can satisfy rest of other features. Do you have any suggestions? thanks
> 
> -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 
> 
--
Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad!

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to