OK. Thanks and good luck :-)
/Bengt 2010/10/6 Clement Escoffier <[email protected]> > Hi, > > Ok, so I will fix that this week. That will foce me to write the test case > :-) > > Clement > > On 06.10.2010, at 14:04, Bengt Rodehav wrote: > > > Clement, > > > > I think I prematurely said it worked with iPOJO 1.6. I have now upgraded > to > > the following: > > > > > > - org.apache.felix.ipojo, 1.6.4 > > - org.apache.felix.ipojo.handler.extender, 1.4.0 > > - org.apache.felix.ipojo.webconsole, 1.4.4 > > - org.apache.felix.ipojo.annotations, 1.6.4 (not deployed in runtime) > > - maven-ipojo-plugin, 1.6.0 (dependency set > > to org.apache.felix.ipojo.manipulator 1.6.4) > > > > When I code like this: > > > > @Controller > > > > @Property(name = "connect.enabled", mandatory = true) > > > > private boolean mValid = false; > > > > > > or like this: > > > > @Controller > > > > @Property(name = "connect.enabled", mandatory = true) > > > > private boolean mValid; > > > > > > The instance will be invalid (on startup) despite the fact that the > > configuration property "connect.enabled" is true. > > > > On the other hand, if I code like this: > > > > @Controller > > > > @Property(name = "connect.enabled", mandatory = true) > > > > private boolean mValid = true; > > > > > > I get the opposite problem. The instance will be valid on startup despite > > the fact that the configuration property "connect.enabled" is false. > > > > Seems there is no way for me to correctly control the validity of the > iPOJO > > instance using a configuration property. This regards startup. If I, > after > > startup, change the configuration property then I manage to > > validate/invalidate the iPOJO instance correctly. > > > > The startup problem is very important to me. If an instance has been > > disabled, then I must be 100% sure that if my container is restarted, the > > instance is not started (validated). The opposite is equally important. > If > > my container is restarted I need to know that all enabled instances are > > started (validated). > > > > I should add that my instance is immediate. Don't know if this makes a > > difference. My code looks like follows: > > > > > > @Component(name = "myServiceFactory", propagation = true, immediate = > true) > > > > @Provides(specifications = myInterface.class, strategy = "SERVICE") > > > > public class MyService { > > > > ... > > > > @Property(name = "connect.name", mandatory = true) > > > > public void setName(String theName) { > > > > super.setName(theName); > > > > } > > > > > > @Controller > > > > @Property(name = "connect.enabled", mandatory = true) > > > > private boolean mValid = false; > > > > > > public boolean isValid() { > > > > return mValid; > > > > } > > > > > > public void setValid(boolean theValid) { > > > > mValid = theValid; > > > > } > > > > > > @Validate > > > > public void start() { > > > > startContext(); > > > > } > > > > > > @Invalidate > > > > public void stop() { > > > > stopContext(); > > > > } > > > > > > /Bengt > > > > > > > > 2010/10/6 Bengt Rodehav <[email protected]> > > > >> Thanks Clement, > >> > >> Guess I should be upgrading to 1.6.0 then. > >> > >> /Bengt > >> > >> 2010/10/6 Clement Escoffier <[email protected]> > >> > >> Hi, > >>> > >>> On 06.10.2010, at 09:31, Bengt Rodehav wrote: > >>> > >>>> Clement, > >>>> > >>>> Have you had a chance to look at this? I'm thinking about upgrading to > >>> iPOJO > >>>> 1.6.0 but I need to know whether this type of behavior is supported by > >>> iPOJO > >>>> or if it just happens to work. If it's not supported I would strongly > >>> wish > >>>> that it will be in the next iPOJO version (is that 1.8.0?). > >>> > >>> My first impression is, it's supported (I've found one modification > fixing > >>> the issue between 1.4.0 and 1.6.0). However, I still didn't write a > test > >>> case to avoid future regressions. In case of a bug it would 1.6.6 not > 1.8.0 > >>> (minor bug fixes). > >>> > >>> Clement > >>> > >>>> > >>>> /Bengt > >>>> > >>>> 2010/10/4 Bengt Rodehav <[email protected]> > >>>> > >>>>> JIRA created: > >>>>> > >>>>> https://issues.apache.org/jira/browse/FELIX-2636 > >>>>> > >>>>> <https://issues.apache.org/jira/browse/FELIX-2636>/Bengt > >>>>> > >>>>> 2010/10/4 Clement Escoffier <[email protected]> > >>>>> > >>>>>> > >>>>>> On 04.10.2010, at 21:04, Bengt Rodehav wrote: > >>>>>> > >>>>>>> Clement, > >>>>>>> > >>>>>>> I added: > >>>>>>> > >>>>>>> @Updated > >>>>>>>> > >>>>>>>> public void updated(Dictionary theDict) { > >>>>>>>> > >>>>>>>> System.out.println("updated: " + theDict); > >>>>>>>> > >>>>>>>> mValid = true; > >>>>>>>> > >>>>>>>> } > >>>>>>>> > >>>>>>>> > >>>>>>> I do get the output to System.out but the instance is still > invalid. > >>>>>>> > >>>>>>> > >>>>>>> updated: {include=(?i).*(?<!\.TMP), redelivery.maxAttempts=10, > >>>>>>>> delimiter=<DELIM> > >>>>>>> > >>>>>>> , connect.enabled=false, deleteProcessedFiles=false, > >>>>>> skipEmptyFiles=false, > >>>>>>>> servi > >>>>>>> > >>>>>>> ce.factoryPid=connect.skandia.filetransfer, delay=60000, > >>>>>>>> fromUri=file:data/conne > >>>>>>> > >>>>>>> ct/test/sample/file2file, connect.name=Sample file transfer from > >>> file > >>>>>> to > >>>>>>>> file, f > >>>>>>> > >>>>>>> > >>>>>> > >>> > elix.fileinstall.filename=connect.skandia.filetransfer-sample-file2file.cfg, > >>>>>>>> alw > >>>>>>> > >>>>>>> aysDisconnect=true, > >>>>>>>> service.pid=connect.skandia.filetransfer.694a9c3c-9319-46b0- > >>>>>>> > >>>>>>> 997f-70af37f40da2, > >>>>>>>> redelivery.delaypattern=0:2000;5:10000;10:60000;20:600000;25: > >>>>>>> > >>>>>>> 1800000, temporaryFileName=${file:name.noext}.tmp, > >>>>>>>> toUris=file:data/connect/test > >>>>>>> > >>>>>>> /sample/file2file/test-out} > >>>>>>> > >>>>>>> > >>>>>>> I don't seem to get the same problem with iPOJO 1.6.0. Maybe the > >>> problem > >>>>>> has > >>>>>>> been "fixed". Nevertheless, it's important for me to know that I > >>> don't > >>>>>>> speculate in a particular implementation detail but that I take > >>>>>> advantage of > >>>>>>> supported behaviour (preferably supported by some junit test case > in > >>>>>> iPOJO). > >>>>>>> > >>>>>>> Should I still create a JIRA ticket? > >>>>>> > >>>>>> Yes please. Because I didn't fix anything in this area. I need to > look > >>>>>> into this and create a test case (to avoid regressions). > >>>>>> > >>>>>> Regards, > >>>>>> > >>>>>> Clement > >>>>>> > >>>>>> > >>>>>>> > >>>>>>> /Bengt > >>>>>>> > >>>>>>> 2010/10/4 Clement Escoffier <[email protected]> > >>>>>>> > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>> On 04.10.2010, at 18:00, Bengt Rodehav wrote: > >>>>>>>> > >>>>>>>>> Clement, > >>>>>>>>> > >>>>>>>>> Like I wrote before, I did manage to get iPOJO 1.6.0 to work for > >>> me. > >>>>>>>>> However, once I got it to work I realised that the > >>> @ServiceController > >>>>>> is > >>>>>>>> not > >>>>>>>>> really what I need. It's the @Controller. I haven't quite filled > >>> you > >>>>>> in > >>>>>>>> with > >>>>>>>>> all the details. This is what I do: > >>>>>>>>> > >>>>>>>>> I use OSGi service factories to instantiate "integration > services" > >>> in > >>>>>> my > >>>>>>>>> Karaf/Camel based integration platform. Most of the integration > >>>>>> services > >>>>>>>> are > >>>>>>>>> implemented as Camel routes (but not all of them). > >>>>>>>>> > >>>>>>>>> When an instance becomes valid I start the camel route and when > the > >>>>>>>> instance > >>>>>>>>> becomes invalid I stop it: > >>>>>>>>> > >>>>>>>>> @Validate > >>>>>>>>> > >>>>>>>>> public void start() { > >>>>>>>>> > >>>>>>>>> startContext(); > >>>>>>>>> > >>>>>>>>> } > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> @Invalidate > >>>>>>>>> > >>>>>>>>> public void stop() { > >>>>>>>>> > >>>>>>>>> stopContext(); > >>>>>>>>> > >>>>>>>>> } > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> I use a configuration property (the connect.enabled) to control > >>>>>> whether a > >>>>>>>>> particular integration service should be up-and-running or not, > >>> using > >>>>>> the > >>>>>>>>> following code: > >>>>>>>>> > >>>>>>>>> @Controller > >>>>>>>>> > >>>>>>>>> @Property(name = "connect.enabled", mandatory = true) > >>>>>>>>> > >>>>>>>>> private boolean mValid = false; > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Note that the way I do it above makes sure that a disabled > service > >>>>>> cannot > >>>>>>>>> start (this was my original problem). However, now I get problems > >>> on > >>>>>>>> startup > >>>>>>>>> (Karaf startup). Although the property "connect.enabled" is true, > >>> the > >>>>>>>>> instance is still invalid. Looking under the iPOJO tab in the > >>>>>> Webconsole > >>>>>>>> I > >>>>>>>>> can see that iPOJO regards this property as false and thus > regards > >>> the > >>>>>>>> iPOJO > >>>>>>>>> instance as invalid. Looking under the Configuration tab I can > see > >>>>>> that > >>>>>>>>> Configuration Manager regards it as true. > >>>>>>>>> > >>>>>>>>> There must be some kind of timing problem here. iPOJO regards the > >>>>>>>> instance > >>>>>>>>> as invalid (connect.enabled=false the way I initialise it) and > then > >>>>>>>> doesn't > >>>>>>>>> pick up the change from configuration manager. My original > problem > >>> was > >>>>>>>> the > >>>>>>>>> opposite since I initialised it to true instead. Then iPOJO > >>> regarded > >>>>>> the > >>>>>>>>> instance as valid and failed to pick up information from > >>> configuration > >>>>>>>>> manager that said it was disabled. > >>>>>>>>> > >>>>>>>>> How can I get this to work? (Note that I now use iPOJO 1.4.0 but > I > >>> can > >>>>>>>>> upgrade if that would help) > >>>>>>>>> > >>>>>>>>> What I want to achieve is, I believe, rather trivial and it's > hard > >>> to > >>>>>>>>> believe that no one else has thought of this use case: > >>>>>>>>> > >>>>>>>>> "Control the validity of an iPOJO instance using a configuration > >>>>>>>> property". > >>>>>>>> > >>>>>>>> There is two points here: > >>>>>>>> - I think there is a bug. In fact the @Controller and @Property > are > >>>>>>>> completely disconnected (handler are complete separated). But, > both > >>>>>> should > >>>>>>>> check the current value of the field during initialization, listen > >>>>>> onSet on > >>>>>>>> the field and call onSet when they receive a new value. It sounds > >>> like > >>>>>> one > >>>>>>>> of those handlers does not respect these instructions. I bet on > the > >>>>>>>> Controller :-) > >>>>>>>> - could you try to add a @Updated method or use a setter for the > >>>>>> property. > >>>>>>>> In these method really assign the controller field to the desired > >>> value > >>>>>>>> (false|true) like m_controller = true|false. If it's works, it's > >>>>>> definitely > >>>>>>>> a bug, so please fill a bug. > >>>>>>>> > >>>>>>>> > >>>>>>>> Regards, > >>>>>>>> > >>>>>>>> Clement > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> Any clues? > >>>>>>>>> > >>>>>>>>> BTW I also publish a service to enable my GUI to show me, and > >>> interact > >>>>>>>> with, > >>>>>>>>> all running "integration services". It makes it easy to find all > of > >>>>>> "my > >>>>>>>>> services". > >>>>>>>>> > >>>>>>>>> /Bengt > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> 2010/10/4 Clement Escoffier <[email protected]> > >>>>>>>>> > >>>>>>>>>> Hi, > >>>>>>>>>> > >>>>>>>>>> On 03.10.2010, at 21:08, Bengt Rodehav wrote: > >>>>>>>>>> > >>>>>>>>>>> Clement, > >>>>>>>>>>> > >>>>>>>>>>> Now that used your tip (from the FAQ), it works fine with > >>>>>>>>>> maven-ipojo-plugin > >>>>>>>>>>> version 1.6.0. The real error was of course that I used the > wrong > >>>>>>>> version > >>>>>>>>>> of > >>>>>>>>>>> the manipulator. I dont't know why the latest version from > trunk > >>>>>>>>>>> (1.7.0-SNAPSHOT) seemed the hide that error but it's gone now > >>> that I > >>>>>>>> use > >>>>>>>>>> the > >>>>>>>>>>> correct manipulator version. > >>>>>>>>>> > >>>>>>>>>> I've to check that... I will look into that. > >>>>>>>>>> > >>>>>>>>>> Regards, > >>>>>>>>>> > >>>>>>>>>> Clement > >>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> /Bengt > >>>>>>>>>>> > >>>>>>>>>>> 2010/10/3 Bengt Rodehav <[email protected]> > >>>>>>>>>>> > >>>>>>>>>>>> Thanks Clement - that worked perfectly! > >>>>>>>>>>>> > >>>>>>>>>>>> I don't know how I've missed that FAQ but now I learned > >>> something > >>>>>> new. > >>>>>>>>>>>> > >>>>>>>>>>>> Yes, I used the latest maven-ipojo-plugin from trunk. > >>>>>>>>>>>> > >>>>>>>>>>>> /Bengt > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> 2010/10/3 clement escoffier <[email protected]> > >>>>>>>>>>>> > >>>>>>>>>>>> Hi, > >>>>>>>>>>>>> > >>>>>>>>>>>>> 2010/10/3 Bengt Rodehav <[email protected]> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> Clement, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I've upgrade to iPOJO 1.6.0 but I still have problems > exposing > >>>>>>>>>> services > >>>>>>>>>>>>>> using the @ServiceController. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I get: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> factory name="connect.skandia.filetransfer" state="invalid" > >>>>>>>>>> bundle="86" > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > implementation-class="se.digia.connect.services.skandia.filetransfer.FileTransferService" > >>>>>>>>>>>>>> missinghandlers > >>>>>>>>>>>>>> > list="[org.apache.felix.ipojo.annotations:servicecontroller]" > >>>>>>>>>>>>>> requiredhandlers list="[org.apache.felix.ipojo:requires, > >>>>>>>>>>>>>> org.apache.felix.ipojo:properties, > >>>>>> org.apache.felix.ipojo:callback, > >>>>>>>>>>>>>> org.apache.felix.ipojo:provides, > >>>>>>>>>>>>>> org.apache.felix.ipojo.annotations:servicecontroller, > >>>>>>>>>>>>>> org.apache.felix.ipojo:architecture]" > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> in the Webconsole under iPOJO/factories. It seems iPOJO > cannot > >>>>>> find > >>>>>>>> a > >>>>>>>>>>>>>> handler for > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> org.apache.felix.ipojo.annotations:servicecontroller > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> What bundle am I missing? > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> No, but you must use the manipulator 1.6.4 as explained in: > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > http://felix.apache.org/site/ipojo-faq.html#iPOJOFAQ-Usingadifferentversionofthemanipulatorduringthemanipulation > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> BTW I also move away from using the ipojo url handler > (online > >>>>>>>>>>>>> manipulator) > >>>>>>>>>>>>>> and started using the maven-ipojo-plugin instead. It turns > out > >>> I > >>>>>>>>>> cannot > >>>>>>>>>>>>> use > >>>>>>>>>>>>>> the latest released version of the plugin (1.6.0) but I have > >>> to > >>>>>> use > >>>>>>>>>>>>>> 1.7.0-SNAPSHOT. > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> Here is the configuration you should use. > >>>>>>>>>>>>> > >>>>>>>>>>>>> <plugin> > >>>>>>>>>>>>> <groupId>org.apache.felix</groupId> > >>>>>>>>>>>>> <artifactId>maven-ipojo-plugin</artifactId> > >>>>>>>>>>>>> <executions> > >>>>>>>>>>>>> <execution> > >>>>>>>>>>>>> <goals> > >>>>>>>>>>>>> <goal>ipojo-bundle</goal> > >>>>>>>>>>>>> </goals> > >>>>>>>>>>>>> </execution> > >>>>>>>>>>>>> </executions> > >>>>>>>>>>>>> <dependencies> > >>>>>>>>>>>>> <dependency> > >>>>>>>>>>>>> <groupId>org.apache.felix</groupId> > >>>>>>>>>>>>> > >>>>>>>>>>>>> <artifactId>org.apache.felix.ipojo.manipulator</artifactId> > >>>>>>>>>>>>> <version>1.6.4</version> > >>>>>>>>>>>>> </dependency> > >>>>>>>>>>>>> </dependencies> > >>>>>>>>>>>>> </plugin> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> Otherwise I get the following exception: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> java.lang.NullPointerException > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> I will look into that. Did you use the latest from trunk ? > >>>>>>>>>>>>> > >>>>>>>>>>>>> Regards, > >>>>>>>>>>>>> > >>>>>>>>>>>>> Clement > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.manipulation.annotations.MetadataCollector.visitEnd(MetadataCollector.java:215) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at org.objectweb.asm.ClassReader.accept(Unknown Source) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at org.objectweb.asm.ClassReader.accept(Unknown Source) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.manipulator.Pojoization.computeAnnotations(Pojoization.java:294) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.manipulator.Pojoization.manipulateComponents(Pojoization.java:484) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.manipulator.Pojoization.manipulateJarFile(Pojoization.java:335) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.manipulator.Pojoization.pojoization(Pojoization.java:194) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.plugin.ManipulatorMojo.execute(ManipulatorMojo.java:199) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>> > >>> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > >>>>>> Method) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>> org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>>>>>>>>>>>>>> > >>>>>>>> > >>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> at > >>> org.codehaus.classworlds.Launcher.main(Launcher.java:375) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> 2010/10/1 Clement Escoffier <[email protected]> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On 01.10.2010, at 18:30, Bengt Rodehav wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Clement, > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Just a clarification: > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> When you restart your instance, be sure that the filed is > >>>>>> really > >>>>>>>>>>>>>>> re-assigned > >>>>>>>>>>>>>>>>> to false. To be sure, make your instance immediate and > set > >>> the > >>>>>>>>>>>>> field > >>>>>>>>>>>>>> in > >>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>> constructor. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> I suspect you misspelled "filed". I'm not sure what you > mean > >>>>>> here. > >>>>>>>>>>>>> My > >>>>>>>>>>>>>>>> "mValid" field will be set from a configuration that file > >>>>>> install > >>>>>>>>>>>>> picks > >>>>>>>>>>>>>>> up. > >>>>>>>>>>>>>>>> If the configuration value "connect.enabled" is set to > true > >>>>>> (which > >>>>>>>>>>>>> is > >>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>> normal case) then I want the service to be started. If it > is > >>>>>> set > >>>>>>>> to > >>>>>>>>>>>>>>> false, > >>>>>>>>>>>>>>>> then I do not want to start nor publish a service yet. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> I want to make sure that I never have a mismatch, that is > if > >>>>>>>>>>>>>>>> the "connect.enabled" property is false, then the service > >>> can > >>>>>>>> never > >>>>>>>>>>>>> be > >>>>>>>>>>>>>>>> started and vice versa. It is important that services that > I > >>>>>> have > >>>>>>>>>>>>>>> "disabled" > >>>>>>>>>>>>>>>> this way is never started (which has unfortunately > >>>>>> happened...). > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> I never tested having the @ServiceController on the same > >>> field > >>>>>> as a > >>>>>>>>>>>>>>> @Property. This may have some side effects, like not-yet > >>>>>> injected > >>>>>>>>>>>>> values. > >>>>>>>>>>>>>>> Try to set your component as immediate. This will force the > >>>>>>>>>> injection. > >>>>>>>>>>>>> In > >>>>>>>>>>>>>>> fact, if the property has the value false, but there is no > >>>>>> object > >>>>>>>>>>>>>> created, > >>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>> @ServiceController has no way to know the current value. If > >>> the > >>>>>>>>>>>>> instance > >>>>>>>>>>>>>> is > >>>>>>>>>>>>>>> immediate, an object is created and the field is assigned > to > >>> the > >>>>>>>>>>>>> property > >>>>>>>>>>>>>>> value. > >>>>>>>>>>>>>>> This will allow the service controller to get the value. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Clement > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> 2010/10/1 Clement Escoffier <[email protected]> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> On 01.10.2010, at 17:03, Bengt Rodehav wrote: > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> OK - obviously @ServiceController is what I need... > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> As said by Richard, The @ServiceController impacts the > >>> service > >>>>>>>>>>>>>> lifecycle > >>>>>>>>>>>>>>>>> The @Controller impacts the instance lifecycle. The > >>>>>> @Controller > >>>>>>>> is > >>>>>>>>>>>>>>> generally > >>>>>>>>>>>>>>>>> used to detect wrong configuration or really bad state > >>> where > >>>>>> the > >>>>>>>>>>>>>>> instance > >>>>>>>>>>>>>>>>> decide to become invalid. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> The @ServiceController is not tied to the instance > >>> lifecycle, > >>>>>>>> which > >>>>>>>>>>>>>>> means > >>>>>>>>>>>>>>>>> that despite the instance is valid, the service can be > >>>>>>>> unpublished > >>>>>>>>>>>>>> using > >>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>> @ServiceController. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> When you restart your instance, be sure that the filed is > >>>>>> really > >>>>>>>>>>>>>>>>> re-assigned to false. To be sure, make your instance > >>> immediate > >>>>>>>> and > >>>>>>>>>>>>> set > >>>>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>> field in the constructor. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> Regards, > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> Clement > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> 2010/10/1 Richard S. Hall <[email protected]> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On 10/1/10 10:41, Bengt Rodehav wrote: > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> OK - thanks, > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> BTW, what then is @Controller used for? > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> It is for disabling the component itself and is > generally > >>>>>> more > >>>>>>>> to > >>>>>>>>>>>>>>> signal > >>>>>>>>>>>>>>>>>>> error conditions from which the component cannot > recover, > >>>>>> such > >>>>>>>> as > >>>>>>>>>>>>>>> faulty > >>>>>>>>>>>>>>>>> or > >>>>>>>>>>>>>>>>>>> missing configuration. On the other hand, > >>> @ServiceController > >>>>>>>>>>>>> allows > >>>>>>>>>>>>>>> you > >>>>>>>>>>>>>>>>> to > >>>>>>>>>>>>>>>>>>> control when your services are provided. > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> -> richard > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> 2010/10/1 Karl Pauls<[email protected]> > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> iirc, you want the @ServiceController and not the > >>>>>> @Controller > >>>>>>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>> again iirc, you need to update to ipojo 1.6.x for > that > >>>>>> one. > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> regards, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> Karl > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> On Fri, Oct 1, 2010 at 4:06 PM, Bengt Rodehav< > >>>>>>>>>>>>> [email protected]> > >>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I'm using iPOJO 1.4.0. My installed iPOJO related > >>>>>> artifacts > >>>>>>>>>>>>> (in > >>>>>>>>>>>>>>> Karaf > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> 1.6.0) > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> are: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.ipojo-1.4.0.jar > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.ipojo.handler.extender-1.4.0.jar > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.ipojo.online.manipulator-1.4.2.jar > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.ipojo.webconsole-1.4.0.jar > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I also use > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.fileinstall-3.0.2.jar > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> ... and a whole lot of other bundles. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I publish services using factories. An example of a > >>>>>>>>>>>>> configuration > >>>>>>>>>>>>>>>>> file > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> for > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> my factories is: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.enabled=true > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.name=Sample file transfer from file to file > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> The "connect.enabled" property is bound to the field > >>> in > >>>>>> my > >>>>>>>>>>>>>> service > >>>>>>>>>>>>>>>>> class > >>>>>>>>>>>>>>>>>>>>>> that is a "controller": > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> @Controller > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> @Property(name = "connect.enabled", mandatory = > false, > >>>>>> value > >>>>>>>> = > >>>>>>>>>>>>>>>>> "true") > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> private boolean mValid; > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> The intention is that I can then disable my service > by > >>>>>>>> setting > >>>>>>>>>>>>>> this > >>>>>>>>>>>>>>>>>>>>>> configuration property to false. However, I've > >>> encounted > >>>>>> a > >>>>>>>>>>>>>> problem > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> regarding > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> this. While the service is active, I set > >>>>>> "connect.enabled" > >>>>>>>> to > >>>>>>>>>>>>>>> false. > >>>>>>>>>>>>>>>>>>>>>> File > >>>>>>>>>>>>>>>>>>>>>> install picks up the changes and the service is > >>>>>>>> de-registered > >>>>>>>>>>>>> - > >>>>>>>>>>>>>>> works > >>>>>>>>>>>>>>>>>>>>>> perfectly. But if I now shutdown Karaf and restart > it > >>>>>> again, > >>>>>>>>>>>>> the > >>>>>>>>>>>>>>>>> service > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> is > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> started (registered) despite the fact that > >>>>>>>> "connect.disabled" > >>>>>>>>>>>>> is > >>>>>>>>>>>>>>>>> still > >>>>>>>>>>>>>>>>>>>>>> false. Is this a bug in iPOJO or have I > misunderstood > >>>>>>>>>>>>> something? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> When googling about this problem I noticed that > there > >>> is > >>>>>>>> also > >>>>>>>>>>>>> an > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> annotation > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> called @ServiceController. What is the difference > >>> between > >>>>>>>>>>>>>>> @Controller > >>>>>>>>>>>>>>>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>>> @ServiceController? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I tried to switch to @ServiceController instead but > >>> get > >>>>>> the > >>>>>>>>>>>>>>> following > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> error: > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> 2010-10-01 15:48:03,341 | ERROR | guration Updater | > >>>>>>>>>>>>> configadmin > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> | ? ? | > >>>>>>>>>>>>>>>>>>>>>>> [org.apache.felix.ipojo.Factory, > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.osgi.service.cm.ManagedServiceFactory, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> id=174, bundle=84]: Updating configuration property > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > {service.pid=connect.skandia.filetransfer.269d25ad-c4d6-4277-9d78-6d4b15acb795, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> fromuri=file:data/connect/test/sample/file2file, > >>>>>>>>>>>>>>>>>>>>>>> > >>> touris=file:data/connect/test/sample/file2file/test-out, > >>>>>>>>>>>>>>>>>>>>>>> service.factorypid=connect.skandia.filetransfer, > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > felix.fileinstall.filename=connect.skandia.filetransfer-sample-file2file.cfg, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.enabled=true, instance.name > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>> =connect.skandia.filetransfer.269d25ad-c4d6-4277-9d78-6d4b15acb795, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.name=Sample file transfer from file to > file} > >>>>>> caused > >>>>>>>> a > >>>>>>>>>>>>>>>>> problem: > >>>>>>>>>>>>>>>>>>>>>>> Missing handlers : > >>>>>>>>>>>>>>>>> org.apache.felix.ipojo.annotations:servicecontroller > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.osgi.service.cm.ConfigurationException: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > {service.pid=connect.skandia.filetransfer.269d25ad-c4d6-4277-9d78-6d4b15acb795, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> fromuri=file:data/connect/test/sample/file2file, > >>>>>>>>>>>>>>>>>>>>>>> > >>> touris=file:data/connect/test/sample/file2file/test-out, > >>>>>>>>>>>>>>>>>>>>>>> service.factorypid=connect.skandia.filetransfer, > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > felix.fileinstall.filename=connect.skandia.filetransfer-sample-file2file.cfg, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.enabled=true, instance.name > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>> =connect.skandia.filetransfer.269d25ad-c4d6-4277-9d78-6d4b15acb795, > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> connect.name=Sample file transfer from file to > file} > >>> : > >>>>>>>>>>>>> Missing > >>>>>>>>>>>>>>>>> handlers > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> : > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> org.apache.felix.ipojo.annotations:servicecontroller > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> at > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:609)[38:org.apache.felix.ipojo:1.4.0] > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> at > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1279)[6:org.apache.felix.configadmin:1.2.4] > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> at > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>> > >>> > org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)[6:org.apache.felix.configadmin:1.2.4] > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I'm not sure in which jar the > >>>>>>>>>>>>>>>>>>>>>> " > >>> org.apache.felix.ipojo.annotations:servicecontroller" > >>>>>>>>>>>>> resides. > >>>>>>>>>>>>>> I > >>>>>>>>>>>>>>>>> tried > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> to > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> deploy > >>>>>> "org.apache.felix.ipojo.handler.whiteboard-1.4.0.jar" > >>>>>>>>>>>>> but > >>>>>>>>>>>>>> it > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> didn't > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> seem to help. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Can anyone help me sort this out? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> /Bengt > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>>>>> 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] > >

