A DS component does not need an interface, and does not need to be registered 
as a service. The sample component snippet (as provided) should work fine. 

Regards,

Tim

Sent from my iPhone

> On 26 Oct 2016, at 12:25, Daghan ACAY <daghana...@hotmail.com> wrote:
> 
> I guess I know the problem. 
> 
> 
> Your component does not implement an interface. That is, Osgi is build on the 
> idea of abstraction. You define an interface (java interface) and your 
> component implements it. If you follow that pattern then @Component can 
> figure out properly how to register your component. In your case you have an 
> implementation without an interface, hence you are breaking the convention. 
> there is nothing wrong with that, but you net to say OSGi DS that you are 
> doing this. Here is how you can do it:
> 
> 
> try 
> 
> 
> @Component(immediate = true, service=SampleImpl.class)
> public class SampleImpl {
> 
> I hope this works
> 
> 
> Cheers
> 
> Daghan
> 
> 
> 
> 
> From: osgi-dev-boun...@mail.osgi.org <osgi-dev-boun...@mail.osgi.org> on 
> behalf of manoj.vrajam...@wipro.com <manoj.vrajam...@wipro.com>
> Sent: Wednesday, October 26, 2016 9:47 AM
> To: osgi-dev@mail.osgi.org
> Subject: Re: [osgi-dev] Understanding activate
>  
> I did this..Put a breakpoint at the print..anad ran it usin debug osgi ...I 
> did not get any different result...
> From: osgi-dev-boun...@mail.osgi.org <osgi-dev-boun...@mail.osgi.org> on 
> behalf of Daghan ACAY <daghana...@hotmail.com>
> Sent: 26 October 2016 15:00:17
> To: osgi-dev@mail.osgi.org
> Subject: Re: [osgi-dev] Understanding activate
>  
> ** This mail has been sent from an external source **
> 
> Another thing i do is put a break point at the line, e.g. activate method in 
> your case, and run it in debug mode. It is more reliable than logs on console.
> 
> Sent by MailWise – See your emails as clean, short chats.
> 
> 
> 
> -------- Original Message --------
> From: Daghan ACAY <daghana...@hotmail.com>
> Sent: Wednesday, October 26, 2016 08:27 PM
> To: osgi-dev@mail.osgi.org
> Subject: Re: [osgi-dev] Understanding activate
> 
> I will just get a wild guess at it.
> 
> DS component start time is not deterministic. That is your component can 
> start first in all components, in the middle or the last.
> 
> I see you are using debug run which starts a lot components and prints out to 
> log. I say your "starting..." can be printed earlier in console. Please run 
> again with debug and scroll up.  I have a feeling you will find "starting..."
> 
> Cheers
> Daghan
> 
> Sent by MailWise – See your emails as clean, short chats.
> 
> 
> 
> -------- Original Message --------
> From: Timothy Ward <tim.w...@paremus.com>
> Sent: Wednesday, October 26, 2016 08:22 PM
> To: OSGi Developer Mail List <osgi-dev@mail.osgi.org>
> Subject: Re: [osgi-dev] Understanding activate
> 
> Also, your component should definitely not have a waiting thread which 
> discovers devices. The devices should register services which are injected 
> into the component. The injection can be used to trigger an action at that 
> time. This is known as the whiteboard pattern - bundles register a service so 
> that they can be discovered and used by another component.
> 
> Regards,
> 
> Tim
> 
> 
>> On 26 Oct 2016, at 11:20, Neil Bartlett <njbartl...@gmail.com> wrote:
>> 
>> You don’t invoke the activate/deactivate methods yourself. They are invoked 
>> by the SCR at the appropriate time, assuming they have been correctly 
>> declared.
>> 
>>> On 26 Oct 2016, at 09:20, <manoj.vrajam...@wipro.com> 
>>> <manoj.vrajam...@wipro.com> wrote:
>>> 
>>> Please find reply inline…
>>>  
>>> From: osgi-dev-boun...@mail.osgi.org 
>>> [mailto:osgi-dev-boun...@mail.osgi.org] On Behalf Of Timothy Ward
>>> Sent: 26 October 2016 13:20
>>> To: OSGi Developer Mail List <osgi-dev@mail.osgi.org>
>>> Subject: Re: [osgi-dev] Understanding activate
>>>  
>>> ** This mail has been sent from an external source **
>>> 
>>> An activate method is able to start its own threads, but it sounds like 
>>> this may not be the right approach for you.
>>> Me: Oh..okay..
>>>  
>>> What do you mean when you say "which would sleep and wait for others to 
>>> join before proceeding for next action”? This sounds a lot like you should 
>>> be using the OSGi service registry and referencing services rather than 
>>> sleeping. That way your activate method will not need to wait.
>>> Me: Actually my plan is to wait on sleep to discover devices.  [ I get a 
>>> callback when I other devices join the network. That part is written (not 
>>> tested).]
>>>  
>>> As for your current problem - is that code snippet really the component? 
>>> The output indicates that you have a deactivate method defined as well.
>>> Me: I have written a dummy deactivate method as well. It does nothing. My 
>>> intention is to somehow invoke this function in this bundle and see what 
>>> happens going forward when my java code executes. To start with I have just 
>>> written a dummy print statement “starting….”
>>>  
>>> Regards,
>>>  
>>> Tim
>>>  
>>>  
>>> On 26 Oct 2016, at 09:43, <manoj.vrajam...@wipro.com> 
>>> <manoj.vrajam...@wipro.com> wrote:
>>>  
>>> No…none of the others have activate() in them.. This is the first time I am 
>>> writing an activate() method…
>>>  
>>> Plaese note: I just want a method in this bundle to be invoked on running 
>>> the framework. I thought activate() would be the right one. But I 
>>> understand from your comments that activate should not have a thread 
>>> sleeping (which I eventually planned). So, then activate() would not help 
>>> me, right ?
>>>  
>>> Could you propose as to what I should do alternatively to invoke a function 
>>> (which would sleep and wait for others to join before proceeding for next 
>>> action) on start up?
>>>  
>>>  
>>> From: osgi-dev-boun...@mail.osgi.org 
>>> [mailto:osgi-dev-boun...@mail.osgi.org] On Behalf Of Timothy Ward
>>> Sent: 26 October 2016 13:03
>>> To: OSGi Developer Mail List <osgi-dev@mail.osgi.org>
>>> Subject: Re: [osgi-dev] Understanding activate
>>>  
>>> ** This mail has been sent from an external source **
>>> I note that there are a number of other DS components present - are any of 
>>> the others showing the same issue? 
>>>  
>>> I’m making a guess here, but do any of the other components have Activate 
>>> methods which can block the activation Thread?
>>>  
>>> Felix SCR owns a background worker thread which is used for a number of 
>>> different tasks. In components like this one the thread will be used to 
>>> invoke the activate method. If a component is blocks that thread then it 
>>> may cause your whole SCR to get “stuck”. This is one of several reasons why 
>>> activate methods should not block for long periods.
>>>  
>>> Your problem may be totally unrelated to this, but it is worth checking.
>>>  
>>> Regards,
>>>  
>>> Tim
>>>  
>>>  
>>> On 26 Oct 2016, at 09:11, manoj.vrajam...@wipro.com wrote:
>>>  
>>> Please find my code snippet + the scr diagnostics ..below:
>>> 
>>> ============
>>> @Component(name = "com.wipro.iot.Alljoyn", immediate = true)
>>> public class AlljoynImpl {
>>> 
>>>     @Activate
>>>     public void activate()
>>>     {
>>>         System.out.println("starting.....");
>>>     }
>>> }
>>> 
>>> 
>>> ============
>>> 
>>> g! 
>>> g! scr:list
>>>  Name  BundleId DefaultEnabled
>>> [com.wipro.iot.Alljoyn] [   6] [true]
>>> [com.wipro.iot.DeviceManager] [   1] [true]
>>> [com.wipro.iot.GatewayDevice] [   2] [true]
>>> [com.wipro.iot.HueLight] [   3] [true]
>>> [com.wipro.iot.LampDevice] [   4] [true]
>>> [com.wipro.iot.MobilePhone] [   5] [true]
>>> [com.wipro.iot.poc] [   7] [true]
>>> [org.eclipse.equinox.event] [  18] [true]
>>> [osgi.enroute.configurer.simple.provider.Configurer] [  22] [true]
>>> [osgi.enroute.dto.bndlib.provider.DTOsProvider] [  23] [true]
>>> [osgi.enroute.logger.simple.provider.LoggerAdminImpl] [  26] [true]
>>> [osgi.enroute.logger.simple.provider.LoggerComponentImpl] [  26] [true]
>>> [osgi.enroute.rest.simple] [  27] [true]
>>> [osgi.enroute.simple.server] [  29] [true]
>>> [osgi.executor.provider] [  24] [true]
>>> g! 
>>> g! 
>>> g! 
>>> g! scr:info com.wipro.iot.Alljoyn
>>> *** Bundle: com.wipro.iot.alljoyn.adapter (6)
>>> Component Description:
>>>   Name: com.wipro.iot.Alljoyn
>>>   Default State: enabled
>>>   Activation: immediate
>>>   Configuration Policy: optional
>>>   Activate Method: activate
>>>   Deactivate Method: deactivate
>>>   Modified Method: -
>>>   Configuration Pid: [com.wipro.iot.Alljoyn]
>>>   Services:   Service Scope: null
>>>   Properties:
>>>   Component Configuration:
>>>     ComponentId: 5
>>>     State: satisfied  
>>>       Properties:
>>>         component.id = 5
>>>         component.name = com.wipro.iot.Alljoyn
>>> g! 
>>> g! 
>>> g!
>>>  
>>> From: osgi-dev-boun...@mail.osgi.org <osgi-dev-boun...@mail.osgi.org> on 
>>> behalf of Tim Ward <tim.w...@paremus.com>
>>> Sent: 26 October 2016 12:04:44
>>> To: OSGi Developer Mail List
>>> Subject: Re: [osgi-dev] Understanding activate
>>>  
>>> ** This mail has been sent from an external source **
>>> Manoj,
>>>  
>>> As Bernd suggested, it would be a good idea to run the Felix SCR diagnostic 
>>> commands. 
>>>  
>>> scr:list will list the DS components in the runtime. If you don't see your 
>>> component in the output then you need to check the bundle you're building 
>>> to see if you've forgotten to include the DS component. 
>>>  
>>> scr:info <component name> will give detailed information about the 
>>> component, including what state it is in.
>>>  
>>> Regards,
>>>  
>>> Tim
>>> 
>>> Sent from my iPhone
>>> 
>>> On 26 Oct 2016, at 07:31, <manoj.vrajam...@wipro.com> 
>>> <manoj.vrajam...@wipro.com> wrote:
>>> 
>>> Bernd…I am on Enroute Eclipse/Bndtools and clicking on “Debug OSGi” to run 
>>> the application.
>>>  
>>> From: osgi-dev-boun...@mail.osgi.org 
>>> [mailto:osgi-dev-boun...@mail.osgi.org] On Behalf Of Bernd Eckenfels
>>> Sent: 26 October 2016 10:55
>>> To: OSGi Developer Mail List <osgi-dev@mail.osgi.org>
>>> Subject: Re: [osgi-dev] Understanding activate
>>>  
>>> ** This mail has been sent from an external source **
>>> How do you build and install your bundle? Make sure the resulting JAR 
>>> actually contains the SCR descriptor for the component and also ensure the 
>>> DS service is actually available in the runtime. Other than that, the 
>>> actual code can be correct (depending on your actual imports which was not 
>>> shown).
>>>  
>>> If this contains Felix Services and gogo Shell you can use scr:list command 
>>> to verify.
>>> 
>>> Gruss
>>> Bernd
>>> -- 
>>> http://bernd.eckenfels.net
>>>  
>>> 
>>> 
>>> 
>>> 
>>> On Wed, Oct 26, 2016 at 7:07 AM +0200, <manoj.vrajam...@wipro.com> wrote:
>>> 
>>> Hi All,
>>> 
>>> @Component(immediate = true)
>>> public class SampleImpl {
>>>   
>>>     @Activate
>>>     public void activate()
>>>     {
>>>         System.out.println("starting.....");
>>>     }
>>> }
>>>     
>>> How to invoke this ? activate() is not getting invoked when I run this 
>>> simple application.
>>>  
>>> Thanks,
>>> Manoj
>>> The information contained in this electronic message and any attachments to 
>>> this message are intended for the exclusive use of the addressee(s) and may 
>>> contain proprietary, confidential or privileged information. If you are not 
>>> the intended recipient, you should not disseminate, distribute or copy this 
>>> e-mail. Please notify the sender immediately and destroy all copies of this 
>>> message and any attachments. WARNING: Computer viruses can be transmitted 
>>> via email. The recipient should check this email and any attachments for 
>>> the presence of viruses. The company accepts no liability for any damage 
>>> caused by any virus transmitted by this email. www.wipro.com
>>> The information contained in this electronic message and any attachments to 
>>> this message are intended for the exclusive use of the addressee(s) and may 
>>> contain proprietary, confidential or privileged information. If you are not 
>>> the intended recipient, you should not disseminate, distribute or copy this 
>>> e-mail. Please notify the sender immediately and destroy all copies of this 
>>> message and any attachments. WARNING: Computer viruses can be transmitted 
>>> via email. The recipient should check this email and any attachments for 
>>> the presence of viruses. The company accepts no liability for any damage 
>>> caused by any virus transmitted by this email. www.wipro.com
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>> The information contained in this electronic message and any attachments to 
>>> this message are intended for the exclusive use of the addressee(s) and may 
>>> contain proprietary, confidential or privileged information. If you are not 
>>> the intended recipient, you should not disseminate, distribute or copy this 
>>> e-mail. Please notify the sender immediately and destroy all copies of this 
>>> message and any attachments. WARNING: Computer viruses can be transmitted 
>>> via email. The recipient should check this email and any attachments for 
>>> the presence of viruses. The company accepts no liability for any damage 
>>> caused by any virus transmitted by this email. 
>>> www.wipro.com_______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>  
>>> The information contained in this electronic message and any attachments to 
>>> this message are intended for the exclusive use of the addressee(s) and may 
>>> contain proprietary, confidential or privileged information. If you are not 
>>> the intended recipient, you should not disseminate, distribute or copy this 
>>> e-mail. Please notify the sender immediately and destroy all copies of this 
>>> message and any attachments. WARNING: Computer viruses can be transmitted 
>>> via email. The recipient should check this email and any attachments for 
>>> the presence of viruses. The company accepts no liability for any damage 
>>> caused by any virus transmitted by this email. 
>>> www.wipro.com_______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>>  
>>> The information contained in this electronic message and any attachments to 
>>> this message are intended for the exclusive use of the addressee(s) and may 
>>> contain proprietary, confidential or privileged information. If you are not 
>>> the intended recipient, you should not disseminate, distribute or copy this 
>>> e-mail. Please notify the sender immediately and destroy all copies of this 
>>> message and any attachments. WARNING: Computer viruses can be transmitted 
>>> via email. The recipient should check this email and any attachments for 
>>> the presence of viruses. The company accepts no liability for any damage 
>>> caused by any virus transmitted by this email. www.wipro.com 
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> osgi-dev@mail.osgi.org
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>> 
>> _______________________________________________
>> OSGi Developer Mail List
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
> 
> The information contained in this electronic message and any attachments to 
> this message are intended for the exclusive use of the addressee(s) and may 
> contain proprietary, confidential or privileged information. If you are not 
> the intended recipient, you should not disseminate, distribute or copy this 
> e-mail. Please notify the sender immediately and destroy all copies of this 
> message and any attachments. WARNING: Computer viruses can be transmitted via 
> email. The recipient should check this email and any attachments for the 
> presence of viruses. The company accepts no liability for any damage caused 
> by any virus transmitted by this email. www.wipro.com
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to