No problem at all… I am not married to any particular solution. It was a quick way to get some stuff done.
David F. Mulcahey | Application Configuration Management Section Manager Amica Mutual Insurance Company | Corporate Information Systems 25 Amica Way | Lincoln, RI | 02865-1166 Voice: 800-652-6422 ext. 22754 | Fax: 401-334-1634 [email protected]<mailto:[email protected]> | Amica.com<http://www.amica.com/> From: Werner Keil [mailto:[email protected]] Sent: Monday, August 24, 2015 10:02 AM To: [email protected] Cc: MULCAHEY, DAVID F. <[email protected]> Subject: Re: tamaya .... I have done something similar and would love to help David/all, Thanks for your message and offer to get involved. Only had very brief look, especially at the POM. Noticed, at least Project Lombok as a dependency. I recall a committer to Apache DeviceMap where I am also involved asked about using Lombok there. We decided to skip it there at the time. It may be OK from a license point of view, but every additional dependency has to be looked at carefully before using it. Cheers, Werner On Mon, Aug 24, 2015 at 3:53 PM, Tresch, Anatole <[email protected]<mailto:[email protected]>> wrote: From: Tresch, Anatole (KGVX 42) Sent: Montag, 24. August 2015 15:53 To: 'MULCAHEY, DAVID F.' Subject: RE: tamaya .... I have done something similar and would love to help Hi David thank very much for your mail. We will have a deeper look at it asap. Since you definitively bring in experience and enthusiasm for the topic it would great to have your support and views here also on in our project. You are welcome to discuss any ideas or improvements here on our developer list (cc'ed), add JIRA tickets and help us with the implementation. If all works out well, we would also be open on adding you as an committer/PPMC member... Best, Anatole From: MULCAHEY, DAVID F. [mailto:[email protected]<mailto:[email protected]>] Sent: Montag, 24. August 2015 13:49 To: [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>> Subject: tamaya .... I have done something similar and would love to help I have been working on something eerily similar for a few years. I can't share details on version 1 as it was written for my company but the link below it to the 2nd version of what I have done. I had this set up as a private repo on github for quite a while but after stumbling across your efforts I figured I would make it public and share it. There is zero documentation written at this moment but I can answer any questions that you may have. Feel free to use whatever concepts you would like from what I have done. I am also interested in following your progress as I have a lot of interest in this area. I generated this this morning just to put a page up.... I'll work on documenting everything soon. http://dmulcahey.github.io/EnterpriseConfiguration/[dmulcahey.github.io]<https://urldefense.proofpoint.com/v2/url?u=http-3A__dmulcahey.github.io_EnterpriseConfiguration_&d=BQMFaQ&c=Av3vauFMhFUPXS-3T7f9EA&r=MXOUrbmyvAH3KAs8wwCSgV0SKjygdFK8QdpbwORtPe4&m=MQ5IqrftHfUaRm_x66aDF-DrcJ3ATsOLaKAwekLElmk&s=Z3VnGzPbwj-pWvCF7oh-jlzuHpV1IsdpP5r24wo9CL4&e=> the 60000 ft overview: configuration info is loaded from the classpath.... You get to configure a loading order / override and merging strategy by defining a resolver chain. An example of this: https://github.com/dmulcahey/EnterpriseConfiguration/blob/master/enterprise-configuration/enterprise-configuration-configuration-component/src/main/java/com/bms/enterpriseconfiguration/configuration/component/ComponentConfigurationResolver.java[github.com]<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_dmulcahey_EnterpriseConfiguration_blob_master_enterprise-2Dconfiguration_enterprise-2Dconfiguration-2Dconfiguration-2Dcomponent_src_main_java_com_bms_enterpriseconfiguration_configuration_component_ComponentConfigurationResolver.java&d=BQMFaQ&c=Av3vauFMhFUPXS-3T7f9EA&r=MXOUrbmyvAH3KAs8wwCSgV0SKjygdFK8QdpbwORtPe4&m=MQ5IqrftHfUaRm_x66aDF-DrcJ3ATsOLaKAwekLElmk&s=sdWfAoRZmq7uYaXM_tRtIstqpqlnfbWL6MdZdA_Eu1A&e=> starting on line 79 you can see how a provider chain is assembled... the module here: https://github.com/dmulcahey/EnterpriseConfiguration/tree/master/enterprise-configuration/enterprise-configuration-configuration-component[github.com]<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_dmulcahey_EnterpriseConfiguration_tree_master_enterprise-2Dconfiguration_enterprise-2Dconfiguration-2Dconfiguration-2Dcomponent&d=BQMFaQ&c=Av3vauFMhFUPXS-3T7f9EA&r=MXOUrbmyvAH3KAs8wwCSgV0SKjygdFK8QdpbwORtPe4&m=MQ5IqrftHfUaRm_x66aDF-DrcJ3ATsOLaKAwekLElmk&s=FK0GueL-8x3qyO7R10AWUqw4cc8bNh9Rtjov5Fo1sUc&e=> is a sample implementation of the underlying API It works like so: there are several paths on the classpath that are considered relevant to configuration (convention over configuration) SharedResources - useful for all applications all environments EnvironmentResources - named sub folders representing the name of environments containing configuration only relevant to said environments ComponentResources - config info relevant only to named components EnvironmentOverrideResources - overrides to env resources SecureResources - typically encrypted and the top of the override chain so they can't be messed with Files with the same name in each area are loaded into a configuration object from CommonsConfiguration which provides the merging / override mechanisms as well as scripting support and many convenience methods for dealing with configuration info. Typically 3 of those levels (shared, environment and secure) are provided as UNC paths on the JVM using the -cp argument or a JVM (-D) argument. This way they are abstracted from the application and provided to the applications as infrastructure. The other 2 directories are generally part of the application with the use of the overrides heavily discouraged :) In house we also have a configuration service endpoint that serves up a lot of this information as a collection of rest endpoints. I feel like I am rambling.... If any of this looks useful to you let me know and I will document as much of it as I can and I will contribute to your efforts as much as my time allows! Thanks for reading!!! David F. Mulcahey | Application Configuration Management Section Manager Amica Mutual Insurance Company | Corporate Information Systems 25 Amica Way | Lincoln, RI | 02865-1166<tel:02865-1166> Voice: 800-652-6422 ext. 22754 | Fax: 401-334-1634 [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>> | Amica.com<http://www.amica.com/> ________________________________ This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>> and the sender of the message. Confidential and personally identifiable information should not be transmitted to Amica via email or email attachment. Amica is not responsible for the loss, use or misuse of confidential or personally identifiable information which is sent to Amica via email or email attachment.
