You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Bengt Rodehav <be...@rodehav.com> on 2012/01/11 20:36:48 UTC

Using system properties in config.properties

I'm using Karaf 2.2.5 and the new possibility to specify ${optionals} in
config.properties. It's a great functionality which allows our clients to
optionally override the configuration that is part of our custom
distribution.

I now have another request. Currently I have this line in my
config.properties:

${optionals} =  ../../../common/etc/custom.properties

This works in a fixed directory hierarchy. I would like to be able to use
system properties when definining the location of my custom.properties,
like this:

${optionals} =  ${commondir}/etc/custom.properties

Currently this is not possible. Can I create a JIRA for this or is there
another way I can accomplish this?

/Bengt

Re: Using system properties in config.properties

Posted by Michael Täschner <m....@gmail.com>.
Hi,

any chance this improvement can be looked at ? Even setting 'optionals' via
commandline parameter (e.g. -Doptionals=<some-folder>) would go a long way
in separating configuration from container.

Thanks and Best Regards,
Michael

2012-01-14 19:48 GMT+01:00 Bengt Rodehav <be...@rodehav.com>:

> I created the following JIRA:
> https://issues.apache.org/jira/browse/KARAF-1152
>
> /Bengt
>
>
> 2012/1/12 Bengt Rodehav <be...@rodehav.com>
>
>> Shall I create a JIRA?
>>
>> /Bengt
>>
>> 2012/1/12 Jean-Baptiste Onofré <jb...@nanthrax.net>
>>
>>> Hi Bengt,
>>>
>>> understood, so we have to "resolve" the system properties. We can do the
>>> enhancement.
>>>
>>> Regards
>>> JB
>>>
>>>
>>> On 01/12/2012 01:23 PM, Bengt Rodehav wrote:
>>>
>>>> Hello JB,
>>>>
>>>> No, in this case I want to be able to specify a directory that is not
>>>> related to where Karaf is installed. I get the directory from a system
>>>> property defined in either karaf.bat or in karaf-wrapper.conf depending
>>>> on whether I run Karaf from the command line or as a service.
>>>>
>>>> The way I've done it currently is to set a fixed directory structure
>>>> that every installation must follow. It looks like this:
>>>>
>>>> +- <applicationRoot>
>>>>     |  +- <application-version>
>>>>     |  |  \- apache-karaf-2.2.5
>>>>     |  |
>>>>     |  \- common
>>>>     |     +- etc
>>>>     |     \- log
>>>>     |
>>>>
>>>>  * <applicationRoot> is the base directory for the application
>>>>  * <applicationVersion> is the version of the application. An upgrade
>>>>
>>>>    is done by creating a new directory named after the new version and
>>>>    installing my custom server into that directory.
>>>>  * Everything that needs to be preserved when upgrading the application
>>>>
>>>>    is stored under the common directory
>>>>
>>>> The above structure makes it easy to create customised configurations of
>>>> a standard application and still make it easy to upgrade the
>>>> application.
>>>>
>>>> Anyway, some customer would like the "common" directory to reside
>>>> somewhere else (not related to where Karaf is installed). This would be
>>>> easier if I could feed that location into config.properties using system
>>>> properties.
>>>>
>>>> /Bengt
>>>>
>>>>
>>>> 2012/1/12 Jean-Baptiste Onofré <jb@nanthrax.net <mailto:jb@nanthrax.net
>>>> >>
>>>>
>>>>
>>>>    Hi Bengt,
>>>>
>>>>    you should be able to use ${karaf.home} and ${karaf.base} variables.
>>>>
>>>>    Is it OK for you ?
>>>>
>>>>    Regards
>>>>    JB
>>>>
>>>>
>>>>    On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
>>>>
>>>>        I'm using Karaf 2.2.5 and the new possibility to specify
>>>>        ${optionals} in
>>>>        config.properties. It's a great functionality which allows our
>>>>        clients
>>>>        to optionally override the configuration that is part of our
>>>> custom
>>>>        distribution.
>>>>
>>>>        I now have another request. Currently I have this line in my
>>>>        config.properties:
>>>>
>>>>        ${optionals} =  ../../../common/etc/custom.__properties
>>>>
>>>>
>>>>        This works in a fixed directory hierarchy. I would like to be
>>>>        able to
>>>>        use system properties when definining the location of my
>>>>        custom.properties, like this:
>>>>
>>>>        ${optionals} =  ${commondir}/etc/custom.__properties
>>>>
>>>>
>>>>        Currently this is not possible. Can I create a JIRA for this or
>>>>        is there
>>>>        another way I can accomplish this?
>>>>
>>>>        /Bengt
>>>>
>>>>
>>>>
>>>>    --
>>>>    Jean-Baptiste Onofré
>>>>    jbonofre@apache.org <ma...@apache.org>
>>>>
>>>>    http://blog.nanthrax.net
>>>>    Talend - http://www.talend.com
>>>>
>>>>
>>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>
>>
>

Re: Using system properties in config.properties

Posted by Bengt Rodehav <be...@rodehav.com>.
I created the following JIRA:
https://issues.apache.org/jira/browse/KARAF-1152

/Bengt

2012/1/12 Bengt Rodehav <be...@rodehav.com>

> Shall I create a JIRA?
>
> /Bengt
>
> 2012/1/12 Jean-Baptiste Onofré <jb...@nanthrax.net>
>
>> Hi Bengt,
>>
>> understood, so we have to "resolve" the system properties. We can do the
>> enhancement.
>>
>> Regards
>> JB
>>
>>
>> On 01/12/2012 01:23 PM, Bengt Rodehav wrote:
>>
>>> Hello JB,
>>>
>>> No, in this case I want to be able to specify a directory that is not
>>> related to where Karaf is installed. I get the directory from a system
>>> property defined in either karaf.bat or in karaf-wrapper.conf depending
>>> on whether I run Karaf from the command line or as a service.
>>>
>>> The way I've done it currently is to set a fixed directory structure
>>> that every installation must follow. It looks like this:
>>>
>>> +- <applicationRoot>
>>>     |  +- <application-version>
>>>     |  |  \- apache-karaf-2.2.5
>>>     |  |
>>>     |  \- common
>>>     |     +- etc
>>>     |     \- log
>>>     |
>>>
>>>  * <applicationRoot> is the base directory for the application
>>>  * <applicationVersion> is the version of the application. An upgrade
>>>
>>>    is done by creating a new directory named after the new version and
>>>    installing my custom server into that directory.
>>>  * Everything that needs to be preserved when upgrading the application
>>>
>>>    is stored under the common directory
>>>
>>> The above structure makes it easy to create customised configurations of
>>> a standard application and still make it easy to upgrade the application.
>>>
>>> Anyway, some customer would like the "common" directory to reside
>>> somewhere else (not related to where Karaf is installed). This would be
>>> easier if I could feed that location into config.properties using system
>>> properties.
>>>
>>> /Bengt
>>>
>>>
>>> 2012/1/12 Jean-Baptiste Onofré <jb@nanthrax.net <mailto:jb@nanthrax.net
>>> >>
>>>
>>>
>>>    Hi Bengt,
>>>
>>>    you should be able to use ${karaf.home} and ${karaf.base} variables.
>>>
>>>    Is it OK for you ?
>>>
>>>    Regards
>>>    JB
>>>
>>>
>>>    On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
>>>
>>>        I'm using Karaf 2.2.5 and the new possibility to specify
>>>        ${optionals} in
>>>        config.properties. It's a great functionality which allows our
>>>        clients
>>>        to optionally override the configuration that is part of our
>>> custom
>>>        distribution.
>>>
>>>        I now have another request. Currently I have this line in my
>>>        config.properties:
>>>
>>>        ${optionals} =  ../../../common/etc/custom.__**properties
>>>
>>>
>>>        This works in a fixed directory hierarchy. I would like to be
>>>        able to
>>>        use system properties when definining the location of my
>>>        custom.properties, like this:
>>>
>>>        ${optionals} =  ${commondir}/etc/custom.__**properties
>>>
>>>
>>>        Currently this is not possible. Can I create a JIRA for this or
>>>        is there
>>>        another way I can accomplish this?
>>>
>>>        /Bengt
>>>
>>>
>>>
>>>    --
>>>    Jean-Baptiste Onofré
>>>    jbonofre@apache.org <ma...@apache.org>
>>>
>>>    http://blog.nanthrax.net
>>>    Talend - http://www.talend.com
>>>
>>>
>>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
>

Re: Using system properties in config.properties

Posted by Bengt Rodehav <be...@rodehav.com>.
Shall I create a JIRA?

/Bengt

2012/1/12 Jean-Baptiste Onofré <jb...@nanthrax.net>

> Hi Bengt,
>
> understood, so we have to "resolve" the system properties. We can do the
> enhancement.
>
> Regards
> JB
>
>
> On 01/12/2012 01:23 PM, Bengt Rodehav wrote:
>
>> Hello JB,
>>
>> No, in this case I want to be able to specify a directory that is not
>> related to where Karaf is installed. I get the directory from a system
>> property defined in either karaf.bat or in karaf-wrapper.conf depending
>> on whether I run Karaf from the command line or as a service.
>>
>> The way I've done it currently is to set a fixed directory structure
>> that every installation must follow. It looks like this:
>>
>> +- <applicationRoot>
>>     |  +- <application-version>
>>     |  |  \- apache-karaf-2.2.5
>>     |  |
>>     |  \- common
>>     |     +- etc
>>     |     \- log
>>     |
>>
>>  * <applicationRoot> is the base directory for the application
>>  * <applicationVersion> is the version of the application. An upgrade
>>
>>    is done by creating a new directory named after the new version and
>>    installing my custom server into that directory.
>>  * Everything that needs to be preserved when upgrading the application
>>
>>    is stored under the common directory
>>
>> The above structure makes it easy to create customised configurations of
>> a standard application and still make it easy to upgrade the application.
>>
>> Anyway, some customer would like the "common" directory to reside
>> somewhere else (not related to where Karaf is installed). This would be
>> easier if I could feed that location into config.properties using system
>> properties.
>>
>> /Bengt
>>
>>
>> 2012/1/12 Jean-Baptiste Onofré <jb@nanthrax.net <ma...@nanthrax.net>>
>>
>>
>>    Hi Bengt,
>>
>>    you should be able to use ${karaf.home} and ${karaf.base} variables.
>>
>>    Is it OK for you ?
>>
>>    Regards
>>    JB
>>
>>
>>    On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
>>
>>        I'm using Karaf 2.2.5 and the new possibility to specify
>>        ${optionals} in
>>        config.properties. It's a great functionality which allows our
>>        clients
>>        to optionally override the configuration that is part of our custom
>>        distribution.
>>
>>        I now have another request. Currently I have this line in my
>>        config.properties:
>>
>>        ${optionals} =  ../../../common/etc/custom.__**properties
>>
>>
>>        This works in a fixed directory hierarchy. I would like to be
>>        able to
>>        use system properties when definining the location of my
>>        custom.properties, like this:
>>
>>        ${optionals} =  ${commondir}/etc/custom.__**properties
>>
>>
>>        Currently this is not possible. Can I create a JIRA for this or
>>        is there
>>        another way I can accomplish this?
>>
>>        /Bengt
>>
>>
>>
>>    --
>>    Jean-Baptiste Onofré
>>    jbonofre@apache.org <ma...@apache.org>
>>
>>    http://blog.nanthrax.net
>>    Talend - http://www.talend.com
>>
>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Using system properties in config.properties

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Bengt,

understood, so we have to "resolve" the system properties. We can do the 
enhancement.

Regards
JB

On 01/12/2012 01:23 PM, Bengt Rodehav wrote:
> Hello JB,
>
> No, in this case I want to be able to specify a directory that is not
> related to where Karaf is installed. I get the directory from a system
> property defined in either karaf.bat or in karaf-wrapper.conf depending
> on whether I run Karaf from the command line or as a service.
>
> The way I've done it currently is to set a fixed directory structure
> that every installation must follow. It looks like this:
>
> +- <applicationRoot>
>      |  +- <application-version>
>      |  |  \- apache-karaf-2.2.5
>      |  |
>      |  \- common
>      |     +- etc
>      |     \- log
>      |
>
>   * <applicationRoot> is the base directory for the application
>   * <applicationVersion> is the version of the application. An upgrade
>     is done by creating a new directory named after the new version and
>     installing my custom server into that directory.
>   * Everything that needs to be preserved when upgrading the application
>     is stored under the common directory
>
> The above structure makes it easy to create customised configurations of
> a standard application and still make it easy to upgrade the application.
>
> Anyway, some customer would like the "common" directory to reside
> somewhere else (not related to where Karaf is installed). This would be
> easier if I could feed that location into config.properties using system
> properties.
>
> /Bengt
>
>
> 2012/1/12 Jean-Baptiste Onofré <jb@nanthrax.net <ma...@nanthrax.net>>
>
>     Hi Bengt,
>
>     you should be able to use ${karaf.home} and ${karaf.base} variables.
>
>     Is it OK for you ?
>
>     Regards
>     JB
>
>
>     On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
>
>         I'm using Karaf 2.2.5 and the new possibility to specify
>         ${optionals} in
>         config.properties. It's a great functionality which allows our
>         clients
>         to optionally override the configuration that is part of our custom
>         distribution.
>
>         I now have another request. Currently I have this line in my
>         config.properties:
>
>         ${optionals} =  ../../../common/etc/custom.__properties
>
>         This works in a fixed directory hierarchy. I would like to be
>         able to
>         use system properties when definining the location of my
>         custom.properties, like this:
>
>         ${optionals} =  ${commondir}/etc/custom.__properties
>
>         Currently this is not possible. Can I create a JIRA for this or
>         is there
>         another way I can accomplish this?
>
>         /Bengt
>
>
>
>     --
>     Jean-Baptiste Onofré
>     jbonofre@apache.org <ma...@apache.org>
>     http://blog.nanthrax.net
>     Talend - http://www.talend.com
>
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Using system properties in config.properties

Posted by Bengt Rodehav <be...@rodehav.com>.
Hello JB,

No, in this case I want to be able to specify a directory that is not
related to where Karaf is installed. I get the directory from a system
property defined in either karaf.bat or in karaf-wrapper.conf depending on
whether I run Karaf from the command line or as a service.

The way I've done it currently is to set a fixed directory structure that
every installation must follow. It looks like this:

+- <applicationRoot>
    |  +- <application-version>
    |  |  \- apache-karaf-2.2.5
    |  |
    |  \- common
    |     +- etc
    |     \- log
    |


   - <applicationRoot> is the base directory for the application
   - <applicationVersion> is the version of the application. An upgrade is
   done by creating a new directory named after the new version and installing
   my custom server into that directory.
   - Everything that needs to be preserved when upgrading the application
   is stored under the common directory

The above structure makes it easy to create customised configurations of a
standard application and still make it easy to upgrade the application.

Anyway, some customer would like the "common" directory to reside somewhere
else (not related to where Karaf is installed). This would be easier if I
could feed that location into config.properties using system properties.

/Bengt


2012/1/12 Jean-Baptiste Onofré <jb...@nanthrax.net>

> Hi Bengt,
>
> you should be able to use ${karaf.home} and ${karaf.base} variables.
>
> Is it OK for you ?
>
> Regards
> JB
>
>
> On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
>
>> I'm using Karaf 2.2.5 and the new possibility to specify ${optionals} in
>> config.properties. It's a great functionality which allows our clients
>> to optionally override the configuration that is part of our custom
>> distribution.
>>
>> I now have another request. Currently I have this line in my
>> config.properties:
>>
>> ${optionals} =  ../../../common/etc/custom.**properties
>>
>> This works in a fixed directory hierarchy. I would like to be able to
>> use system properties when definining the location of my
>> custom.properties, like this:
>>
>> ${optionals} =  ${commondir}/etc/custom.**properties
>>
>> Currently this is not possible. Can I create a JIRA for this or is there
>> another way I can accomplish this?
>>
>> /Bengt
>>
>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Using system properties in config.properties

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Bengt,

you should be able to use ${karaf.home} and ${karaf.base} variables.

Is it OK for you ?

Regards
JB

On 01/11/2012 08:36 PM, Bengt Rodehav wrote:
> I'm using Karaf 2.2.5 and the new possibility to specify ${optionals} in
> config.properties. It's a great functionality which allows our clients
> to optionally override the configuration that is part of our custom
> distribution.
>
> I now have another request. Currently I have this line in my
> config.properties:
>
> ${optionals} =  ../../../common/etc/custom.properties
>
> This works in a fixed directory hierarchy. I would like to be able to
> use system properties when definining the location of my
> custom.properties, like this:
>
> ${optionals} =  ${commondir}/etc/custom.properties
>
> Currently this is not possible. Can I create a JIRA for this or is there
> another way I can accomplish this?
>
> /Bengt
>
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com