Yahooo!! Perfect. Thanks.

> -----Original Message-----
> From: Clement Escoffier [mailto:[email protected]]
> Sent: Tuesday, March 31, 2009 8:44 AM
> To: [email protected]
> Subject: Re: cfg files for PaxLogging and iPOJO
>
> Hi,
>
>
> On 31.03.2009, at 16:29, Joel Schuster wrote:
>
> > Ok, now I'm lost again...
> >
> > I've been using the Eclipse plugin for creating the *.bnd and
> > metadata.xml file. I right click on the xml to create my bundle jar.
> >
> > How would I create that without the xml file? Would I simply hand
> > write my MANIFEST.MF and make a jar file then? Will iPOJO do
> > annotation searches of my jar?
>
> Oh, you're using the Eclipse plugin. In this case your metadata.xml
> file has to exist as actions are made from this file (we're changing
> this), but only contains:
> <ipojo>
> </ipojo>
>
> If you want a more regular way to create iPOJO bundle in Eclipse, you
> can follow this tutorial setting a ant-based project inside Eclipse:
> http://felix.apache.org/site/apache-felix-ipojo-eclipse-integration.html
>
>
> Regards,
>
> Clement
>
>
> >
> >
> > Do you have any examples available of this methodology?
> >
> > - Joel
> >
> >
> >> -----Original Message-----
> >> From: Clement Escoffier [mailto:[email protected]]
> >> Sent: Tuesday, March 31, 2009 8:16 AM
> >> To: [email protected]
> >> Subject: Re: cfg files for PaxLogging and iPOJO
> >>
> >> Hi,
> >>
> >> On 31.03.2009, at 15:53, Joel Schuster wrote:
> >>
> >>>
> >>> Clement,
> >>>
> >>>    I suppose so... I really don't have enough understanding yet to
> >>> say
> >>> one way or the other. Are you saying that because the metadata.xml
> >>> has an <instance../> declaration one is being created via the
> >>> factory from that, and then another is being created via the factory
> >>> from the cfg file?
> >>>
> >>> Here's the info from 'arch':
> >>>
> >>> -> arch
> >>> Instance ArchCommand -> valid
> >>> Instance LogClientExampleInstance -> valid
> >>> Instance LogClientExample.154543ce-3bc2-4000-9cc8-c69c95fc090e ->
> >>> valid
> >>
> >> So, two instances :-)
> >>
> >> In fact, one if created by the cfg file (it's the second one this
> >> this
> >> crazzy id). The second one is created from the xml file, right?
> >>
> >> So, by using Managed Service Factory, each cfg file represents an
> >> instance. You can create new instance by just writing a cfg file, or
> >> dispose an instance by removing the cfg file from the folder.
> >> Moreover, you can reconfigure it by updating a cfg file.
> >>
> >> So, to get only one instance just remove the XML file completely (as
> >> you use annotations, you don't need it at all). The cfg file is
> >> equivalent to the <instance/> tag from the XML file.
> >>
> >> (I'm going to write a FAQ on this topic.)
> >>
> >>
> >>>
> >>>
> >>> That would seem to bear out. Ok, and so if PaxLogging is implemented
> >>> similarly that's also why I'm seeing the two instances of that too.
> >>>
> >>> So, I can use a managed service instead of a factory... that's where
> >>> I think I'm getting lost.
> >>
> >> The managed service factory allows you to create and dispose
> >> instances
> >> with the CFG file (one CFG file is one instance)
> >> The managed service allows you to reconfigure an existing instance.
> >> In
> >> this case, the instance has to be created before.
> >>
> >>
> >> Regards,
> >>
> >> Clement
> >>
> >>
> >>>
> >>>
> >>> There is the 'managedservice' attribute of the @Component
> >>> annotation. If I do not then have an <instance../> declaration in
> >>> the metadata.xml but rather just a <component../> would a cfg file
> >>> then be used for any created instances?
> >>>
> >>> - Joel
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Clement Escoffier [mailto:[email protected]]
> >>>> Sent: Tuesday, March 31, 2009 7:35 AM
> >>>> To: [email protected]
> >>>> Subject: Re: cfg files for PaxLogging and iPOJO
> >>>>
> >>>> Hi,
> >>>>
> >>>>
> >>>> The cfg file that you describe contains a ManagedServiceFactory
> >>>> configuration. So, it replace the <instance> tag of the
> >>>> metadata.xml
> >>>> file. So, if you have both, it will create one instance from the
> >>>> xml
> >>>> file and one from the cfg file, so 2 instances.
> >>>>
> >>>> You can also use the ManagedService (not factory). Is that what you
> >>>> would like?
> >>>>
> >>>> Regards,
> >>>>
> >>>> Clement
> >>>>
> >>>>
> >>>>
> >>>> On 31.03.2009, at 00:04, Joel Schuster 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]
> >>>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> 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]
> >
> >
> > ---------------------------------------------------------------------
> > 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]

Reply via email to