Iirc, the instance name is used for the configuration and it is really a managed service factory -- hence, the file should be named something like this:
LogClientExample-4711.cfg regards, Karl p.s.: In case you want your service to only be created and activated if there is a valid properties configuration then add: @Property(mandatory=true) On Mon, Mar 30, 2009 at 11:10 PM, Joel Schuster <[email protected]> wrote: > I got the PaxLogging config working. But the iPOJO isn't. > > Here's some code: > > package com.example; > > import ...*... > > @Component(name="LogClientExample", immediate=true) > public class LogClient implements Runnable { > > �...@requires > private LogService logService; > > private boolean running; > > �...@property > private String logString; > > @Override > public void run() { > logService.log( LogService.LOG_INFO, "LogClient run()."); > while( running) { > logService.log( LogService.LOG_INFO, "LogClient > Running..." + logString); > try { > Thread.sleep( 10000); > } catch (InterruptedException e) { > logService.log( LogService.LOG_WARNING, "", e); > } > } > } > > �...@validate > public void start() { > logService.log( LogService.LOG_INFO, "LogClient start()"); > running = true; > new Thread( this).start(); > } > > �...@invalidate > public void stop() { > logService.log( LogService.LOG_INFO, "LogClient stop()"); > running = false; > } > } > > Then I've created a file called 'com.example.LogClientExample.cfg' (I tried > just com.example.LogClient.cfg as well) with one line: > > logString=New Hello > > > The logs come out as "LogClient Running...null" > > Unless I put this in the metadata.xml: > > <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="org.apache.felix.ipojo > http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd" > xmlns="org.apache.felix.ipojo"> > <!-- declare your component types and instances here --> > <instance component="LogClientExample" name="LogClientExampleInstance"> > <property name="logString" type="java.lang.String" > value="Hello" /> > </instance> > </ipojo> > > > > > >> -----Original Message----- >> From: Clement Escoffier [mailto:[email protected]] >> Sent: Monday, March 30, 2009 12:45 PM >> To: [email protected] >> Subject: Re: cfg files for PaxLogging and iPOJO >> >> Hi, >> >> To use cfg file you need: >> - File install configured on a folder (let's say 'foo') >> - A configuration admin implementation (like the Apache Felix one :-)) >> >> Then, create a cfg file named factory-name-id. The factory name is >> generally the class name of your pojo. >> In this file, add one line per property: >> prop1=value1 >> prop2=value2 >> >> Copy this file in the 'foo' folder, that's it: >> File install will read the file and push the configuration in the >> configuration admin. >> The configuration admin will push the configuration to iPOJO >> iPOJO will create the instance and configure it (i.e you don't need >> metadata.xml file at all) >> >> Regards, >> >> >> Clement >> >> >> On 30.03.2009, at 20:26, Stuart McCulloch wrote: >> >> > 2009/3/30 Joel Schuster <[email protected]> >> > >> >> I've started using PaxLogging as my LogService. However, I can't >> >> seem to >> >> figure out how to configure it. >> >> >> > >> > you need to configure it via the ConfigAdmin service using a >> > configuration >> > pid "org.ops4j.pax.logging" >> > to point to the contents of the log4j properties file - you can do >> > this >> > using Pax ConfMan or FileInstall >> > from Apache Felix (both let you associate properties files with >> > configuration pids) >> > >> > http://wiki.ops4j.org/display/ops4j/Pax+Logging#PaxLogging- >> Configuration >> > >> > you'll also need a working ConfigAdmin implementation, such as the >> > Apache >> > Felix configadmin bundle >> > >> > HTH >> > >> > I've tried creating various cfg files to no avail. >> >> >> >> As a an attempt to better understand how this should work I've >> >> created a >> >> quick iPOJO based LogClient which @Requires the LogService. >> >> >> >> This works great, so I added a String based @Property. >> >> >> >> However, I can't seem to set the property outside of the >> >> metadata.xml file. >> >> Shouldn't I be able to create a cfg file? >> >> >> >> If I can get that working it seems I should then be able to figure >> >> out a >> >> cfg file for the PaxLogging too. >> >> >> > >> > I'll let Clement answer the iPOJO specifics, but as long as you can >> > associate the "org.ops4j.pax.logging" >> > configuration pid to the log4j properties using iPOJO then it's just a >> > matter of making sure you have a >> > ConfigAdmin implementation installed to pass the configuration onto >> > the >> > Pax-Logging service >> > >> > (note you also need both the Pax-Logging API and the Pax-Logging >> > service >> > bundles installed) >> > >> > >> >> ______________________________ >> >> Joel Schuster >> >> Senior Software Engineer >> >> NAVSYS Corporation >> >> 14960 Woodcarver Road >> >> Colorado Springs, CO 80921 >> >> (719) 481-4877 x138 >> >> [email protected]<mailto:[email protected]> >> >> >> >> The information contained herein is confidential and intended >> >> solely for >> >> the use of the addressees. If the reader is not the intended >> >> recipient, you >> >> are hereby notified that any distribution or copying of this >> >> communication >> >> is prohibited. Further distribution without the sender's approval >> >> is also >> >> prohibited. If you have received this communication in error, >> >> please notify >> >> us immediately by replying to the message and deleting it entirely >> >> from your >> >> computer. Thank you. NAVSYS Corporation. >> >> >> >> >> > >> > >> > -- >> > Cheers, Stuart >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Karl Pauls [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

