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]

Reply via email to