Because it is a managed service factory - its going to create a new
instance for each configuration. Good to know that it is working  :-)

regards,

Karl

On Tue, Mar 31, 2009 at 12:04 AM, Joel Schuster <[email protected]> wrote:
> I take it back... it's working. Well, mostly. There are two instances :P.
>
> One from the File Installer and the other from the Configuration Updater.
>
> I'm wondering why they both wouldn't use the same instance.
>
> - Joel
>
>> -----Original Message-----
>> From: Joel Schuster [mailto:[email protected]]
>> Sent: Monday, March 30, 2009 3:58 PM
>> To: '[email protected]'
>> Subject: RE: cfg files for PaxLogging and iPOJO
>>
>> Karl,
>>
>> Still a no-go, I'll look at it some more tomorrow.
>>
>> Thanks for all the help.
>>
>> - Joel
>>
>> > -----Original Message-----
>> > From: Karl Pauls [mailto:[email protected]]
>> > Sent: Monday, March 30, 2009 3:50 PM
>> > To: [email protected]
>> > Subject: Re: cfg files for PaxLogging and iPOJO
>> >
>> > The number is the number of the factory configuration to create. As I
>> > said, it is a managed service factory not only a managed service. You
>> > are free to pick any number you like I think.
>> >
>> > regards,
>> >
>> > Karl
>> >
>> > On Mon, Mar 30, 2009 at 11:43 PM, Joel Schuster <[email protected]>
>> wrote:
>> > > I still can't seem to get this working... I tried both the component
>> > name and the instance name.
>> > >
>> > > How would I determine what the -<number> would be?
>> > >
>> > > Based on what I read here: http://felix.apache.org/site/apache-felix-
>> > file-install.html
>> > >
>> > > It seems to say that it would be something like: LogClientExample.cfg
>> > like you were saying.
>> > >
>> > > Also, just because it's 'REQUIRED' doesn't keep it from being
>> installed
>> > and activated.
>> > >
>> > > Here's the info from the Configuration Status tab of the Web Console:
>> > >
>> > > 48=[org.apache.felix.ipojo.Factory,
>> > org.osgi.service.cm.ManagedServiceFactory]
>> > >  Bundle=com.examples.logclient (0) "com.examples.logclient"
>> > >  Using Bundles=[org.apache.felix.configadmin (1.0.10) "Apache Felix
>> > Configuration Admin Service"]
>> > >  component.class=com.examples.logclient.LogClient
>> > >  component.description=factory name="LogClientExample" state="valid"
>> > bundle="24" implementation-class="com.examples.logclient.LogClient"
>> > >        missinghandlers list="[]"
>> > >        property name="logString" value="REQUIRED"
>> > type="java.lang.String"
>> > >        requiredhandlers list="[org.apache.felix.ipojo:requires,
>> > org.apache.felix.ipojo:callback, org.apache.felix.ipojo:properties,
>> > org.apache.felix.ipojo:architecture]"
>> > >
>> >
>>  component.properties=[org.apache.felix.ipojo.architecture.PropertyDescrip
>> > t...@b30913]
>> > >  component.providedServiceSpecifications=[]
>> > >  factory.name=LogClientExample
>> > >  factory.state=1
>> > >  service.pid=LogClientExample
>> > >
>> > >
>> > >
>> > >
>> > >> -----Original Message-----
>> > >> From: Karl Pauls [mailto:[email protected]]
>> > >> Sent: Monday, March 30, 2009 3:22 PM
>> > >> To: [email protected]
>> > >> Subject: Re: cfg files for PaxLogging and iPOJO
>> > >>
>> > >> 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)
>> > >> >> >
>> > >> >> >
>> > >> >> >>
>> > >> >> >>
>> > >> >> >
>> > >> >> >
>> > >> >> > --
>> > >> >> > 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]
>> > >
>> > >
>> > > ---------------------------------------------------------------------
>> > > 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]
>>
>>
>> ---------------------------------------------------------------------
>> 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]

Reply via email to