I have done exactly what you have told me to, the last days. I followed the documentation, and did everything with Customer-Vendor Tutorial in hands, but I cannot find a proper walkthrought to a solution. This fact makes me think, that maybe we have a bug, in SAT vs Knopflerfish. So, when my bundle (using SAT), executes it's deactivate method (after the lose of some needed service), when it comes to re-execute my activate method (after a re-registration of the previously lost service) my bundle doesn't do anything at all!!!!!!! It doesn't execute it's activate method for second time and all registered interfaces are de-registered. Why??? SAT is monitoring the registry in a constant manner, isn't it??? :-( :-(

The project I am working on, is a very large scale project on pervasive computing, and a toolkit like this would be exactly what we need... :-( :-( ( I would like to see equinox on this, but this very difficult the moment we speak... )

Aggelos


Simon J Archer wrote:

Aggelos

Your code looks fine to me. When your bundle has acquired all of its imported services, be it at start up or otherwise, the activate() method will get called. Whenever your bundle loses an imported service, for any reason, the deactivate() method will get called. Both activate() and deactivate() can get called multiple times as services are gained/lost.

Please double-check that the bundle that you are stopping and re-starting is actually re-registering its service correctly. If you are using Equinox then you can query the services registered and in use by each bundle by using the "bundle" console command.

Good luck,

Simon



*Aggelos Mpimpoudis <[EMAIL PROTECTED]>*
Sent by: [EMAIL PROTECTED]

08/01/2007 07:56 AM
Please respond to
OSGi Developer Mail List <[email protected]>


        
To
        OSGi Developer Mail List <[email protected]>
cc
        
Subject
        Re: [osgi-dev] Service Tracking Matter



        





Hello again,

Being in the final stage of development, I have one more question. My
activation/deactivation facilities are the latter as shown:

>     protected void activate() {
>         System.out.println("Bootstrap::Activation...");
>         dataProcessor = getSensorDataProcessorBC();
>         dbwrapper = getDBWrapperBC();
>         fusion = null;
>         commProxy=getCommunicationProxyBC();
>         try {
> BootstrapCoordinator service = new BootstrapCoordinator(dataProcessor, dbwrapper, fusion, commProxy);
>             createExportedServices(service);
>         } catch (BootstrapCoordinatorException e) {
>             e.printStackTrace();
>         }
> > }
>
>     protected void deactivate() {
>         System.out.println("Bootstrap::Deactivation...");
>     }

I use 3 services, each one provided from three separate bundles. After
activation of all three, my bundle is triggered and my facilities are
constructed. I deactivate one of the three services.
Bootstrap::Deactivation is printed on the stdout. Everything is going
fine. After the reactivation, I expect to see my bundle's
Bootstrap::Activation... string, but it seems that the activation method
isn't re-executed.... Is there anything wrong at the above?

Thx,
Aggelos

--
Dept. of Informatics & Telecommunications, University of Athens
Athens, Greece
Gsm: +306942075153 / Skype: aggelos.mpimpoudis
email: a.mpimpoydhs [at] di.uoa.gr
_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

------------------------------------------------------------------------

_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev


--
Dept. of Informatics & Telecommunications, University of Athens
Athens, Greece
Gsm: +306942075153 / Skype: aggelos.mpimpoudis
email: a.mpimpoydhs [at] di.uoa.gr
_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

Reply via email to