[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [virgo-dev] Configuration of bundles
|
Ok, thanks.
Regards,
Glyn
On 5 Nov 2010, at 12:41, Peter Lauri wrote:
> Hi,
>
> Actually step 6 and 7 in the second sequence it should be VIRGO_HOME/pickup and not VIRGO_HOME/config
>
> I will do the steps again, and after that raise a bugzilla for that.
>
> /Peter
>
>
>
> On 4 nov 2010, at 12.21, Glyn Normington wrote:
>
>> Hi Peter
>>
>> The *ERROR* below looks like a bug. If you would kindly raise a bugzilla and attach a properties file and steps to reproduce, that would be very helpful.
>>
>> Virgo only scans the config directory on startup, so I don't understand the behaviour you are seeing in steps 6 and 7. Did you restart Virgo before each of these steps?
>>
>> Regards,
>> Glyn
>>
>> On 3 Nov 2010, at 06:05, Peter Lauri wrote:
>>
>> Hi Dmitry and all :)
>>
>> The thing that should simply work doesn't work for me :)
>>
>> 1. Stop virgo
>> 2. No config anywhere
>> 3. Start virgo (ManagedService.update was triggered with NULL, as expected)
>> 4. Put configuration into VIRGO_HOME/pickup (ManagedServices.update was NOT triggered, WebUI configuration artifact visible, configuration reflected in Configuration Admin)
>> 5. Modify config (ManagedServices.update was NOT triggered, WebUI configuration artifact visible, configuration reflected in Configuration Admin)
>>
>> So, by just putting the configuration to pickup will not trigger the ManagedService.update method.
>>
>> Each time I modify the configuration in the pickup directory I get the following:
>>
>> [2010-11-03 07:56:10.479] Configuration Updater System.err *ERROR* Cannot use configuration pjotr.configtest for [org.osgi.service.cm.ManagedService, id=146, bundle=36]: Configuration bound to bundle file:lib/kernel/org.eclipse.virgo.kernel.deployer-2.1.0.RC1-incubation.jar
>>
>>
>> After that I played around a bit, and then I get it to work by doing this:
>>
>> 1. Stop virgo
>> 2. Put the config into VIRGO_HOME/config
>> 3. Start virgo (ManagedService.update was triggered with proper configuration, config visible in WebUI Configuration Admin)
>> 4. Modify config file in VIRGO_HOME/config (ManagedService.update was NOT triggered, changes NOT reflected in WebUI Configuration Admin
>> 5. Move config to VIRGO_HOME/pickup (ManagedService.update triggered, changed reflected in WebUI Configuration Admin)
>> 6. Modify config file in VIRGO_HOME/config (ManagedServices.update triggered 2 TIMES, changes reflected in WebUI Configuration Admin)
>> 7. Modify config file in VIRGO_HOME/config (ManagedServices.update triggered 2 TIMES, changes reflected in WebUI Configuration Admin)
>>
>> However, this requires that I would need to restart virgo for each time I deploy a service that needs configuration.
>>
>>
>> Using the ConfigurationListener and ConfigurationAdmin worked fine, but that is not as "neat" as using ManagedService.
>>
>> /Peter
>>
>>
>>
>> On 2 nov 2010, at 21.02, Dmitry Sklyut wrote:
>>
>> Simple answer is "Yes".
>>
>> With the code sample that you provided, your config properties file must be named: "my_unique_pid.properties".
>>
>> Drop that file into pickup and it will be deployed as ConfigurationAdmin configuration and your ManagedService will be updated with correct configuration.
>>
>> You can also use a ConfigurationListener and postone publishing your service (not ManagedService) till configuration that you are looking for is available.
>>
>> Dmitry
>>
>> On Tue, Nov 2, 2010 at 2:56 PM, Peter Lauri <peter.lauri@xxxxxx<mailto:peter.lauri@xxxxxx>> wrote:
>> Hi,
>>
>> I have a bundle that is providing a service that needs to be configured before it starts. As I have understood it there are two approaches, one is to use the ManagedService and one is to use the ConfigurationAdmin. However, how do this map to Virgo? If I put a properties file to "pickup" that will be deployed as a configuration artifact. Should that map directly to the ManagedService.update() call?
>>
>> Hashtable<String, String> prop = new Hashtable<String, String>();
>> prop.put(Constants.SERVICE_PID, "my_unique_pid");
>> this.managedServiceRegistration = bundleContext.registerService(ManagedService.class.getName(), this, prop);
>>
>> /Peter
>>
>> _______________________________________________
>> virgo-dev mailing list
>> virgo-dev@xxxxxxxxxxx<mailto:virgo-dev@xxxxxxxxxxx>
>> https://dev.eclipse.org/mailman/listinfo/virgo-dev
>>
>>
>> _______________________________________________
>> virgo-dev mailing list
>> virgo-dev@xxxxxxxxxxx<mailto:virgo-dev@xxxxxxxxxxx>
>> https://dev.eclipse.org/mailman/listinfo/virgo-dev
>>
>> <ATT00001..txt>
>>
>> _______________________________________________
>> virgo-dev mailing list
>> virgo-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/virgo-dev
>
> _______________________________________________
> virgo-dev mailing list
> virgo-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/virgo-dev