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]