You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Mahammad Nasir <ma...@huawei.com> on 2010/02/19 10:22:43 UTC

unresolved package org.osgi.framework...

Hi All
 
I have a setup some thing like this.
 
I have an exe which loads a jar file say Service.jar (Which has a class
CService). This jar file instantiates (Embed new Felix(,,)) Felix.
 
Now using Felix instance i will register a service and pass object if
CService to it.
 
Now I have a felix bundle which  finds the service and uses it.
 
Service.jar is loaded by some exe. (That is exe loads the Service.jar, jar
instantiates Felix.)
 
Interace which Service implements for registering the service i have made as
another jar. (Is this correct?? Or interface should be inside the OSGI
bundle itself?)
 
 
Now my problem is loaded bundle is not able to find the package exported by
service.jar.
 
I would like to know, Is this type of setup is possible? Is this valid? 
 
I have attached the consol trace of what happned and the manifest file of
the bundle.
 
 
Welcome to Felix.
=================
 
Enter profile name: 1
 
DEBUG: WIRE: 1.0 -> org.ungoverned.osgi.service.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.service.startlevel -> 0
DEBUG: WIRE: 1.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 1.0 -> org.osgi.service.packageadmin -> 0
DEBUG: WIRE: 2.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 2.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.service.obr -> 3.0
-> DEBUG: WIRE: 3.0 -> org.apache.felix.shell -> 1.0
Intalled....
org.osgi.framework.BundleException: Unresolved package in bundle 13:
package; (&(package=demoOsgiService)(version>=0.0.0))
        at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
        at org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
        at demoOsgiService.NonMain.notmain(NonMain.java:232)
        at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
        at
com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
        at
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
70)
        at
demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
        at com.sdt.sne.Service.onActivated0(Service.java:163)
 
-> ps
 
=========================Manifest File===================================
Bundle-Name: Dictionary client
Bundle-Description: A bundle that uses the dictionary service if it finds it
at startup
Bundle-Vendor: Apache Felix
Bundle-Version: 1.0.0
Bundle-Activator: demoOsgiServiceCleint.Activator
Import-Package: org.osgi.framework,demoOsgiService
 

 

Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/22/10 5:18 PM, Mahammad Nasir wrote:
>
>
> You know your quick answer helps a lot for people like me. I got it working
> finallly.
>
> I think web pages is having enough info to the people those who already
> worked in java. My case was like I was new to java, oSGI etc etc.
>
> Still when I searched for launching felix..fiest hit was
>
> http://felix.apache.org/site/launching-and-embedding-apache-felix.html
>
>
> Not
>
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
> html
>    

Sorry about that. This is a known issue with our wiki exporting pages, 
it doesn't delete old copies...

We'll try to fix it.

-> richard

>
> But...Bot the pages looked same!! So I always thought I have read
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
> html, but I was reffering
> http://felix.apache.org/site/launching-and-embedding-apache-felix.html
>
>
> One more thing, I felt like there are very less examples for embedding
> felix.
>
> Thanks a lot
> Nasir
>
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Monday, February 22, 2010 6:29 AM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/21/10 7:06 PM, Mahammad Nasir wrote:
>    
>> Thank you..It worked...!
>>
>>      
> Excellent. Feel free to offer some suggestions on improving the web page if
> it wasn't clear.
>
> ->  richard
>
>    
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 8:24 PM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>>
>>
>> On 2/20/10 5:33 PM, Mahammad Nasir wrote:
>>
>>      
>>> Hi richard
>>>
>>> I have tried the same thing.
>>>
>>>
>>> 		Properties props = new Properties();
>>> 		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
>>> 		framework = factory.newFramework(props);
>>> 		try {
>>> 			framework.init();
>>> 			framework.start();
>>>
>>> 		}
>>>
>>> After this if I debug and check what config present in framework, It
>>> is showing this:
>>> [null, null, null, null, null, null, null, null,
>>> org.osgi.framework.system.packages.extra=Dummy, null, null]
>>>
>>> Rest of the things are set to null.
>>>
>>> But I was intended to modify only
>>>
>>>        
>> org.osgi.framework.system.packages.extra.
>>
>>      
>>>
>>>        
>> Just set that value and nothing more. The examples on the web page
>> show how to do exactly this.
>>
>> ->   richard
>>
>>
>>      
>>> There is no api getProperties exposed so that I can get entire
>>> key-valuee pair and modify only this key.
>>>
>>> How can I set only this key??
>>>
>>>
>>> Thanks a lot. I am makinng you answer silly quests..
>>>
>>>
>>> Nasir
>>>
>>> -----Original Message-----
>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>> Sent: Saturday, February 20, 2010 2:43 PM
>>> To: users@felix.apache.org
>>> Subject: Re: unresolved package org.osgi.framework...
>>>
>>> On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>>>
>>>
>>>        
>>>> Thanks a lot.
>>>>
>>>> Now that I need to set org.osgi.framework.system.packages.extra and
>>>> pass it to framework. Is it enough if I pass only this property?
>>>>
>>>> Or I need to copy the peoperties laoded by default and append
>>>> org.osgi.framework.system.packages.extra key? If so how to get the
>>>> default kev-value pair?
>>>>
>>>>
>>>>
>>>>          
>>> The framework sets reasonable defaults for all properties as required
>>> by the spec. You only need to set properties for which the default is
>>> undefined or you don't like the default value.
>>>
>>> For this specific property, though, you need to make sure whichever
>>> packages you are adding to it are also accessible (i.e., on the class
>>> path) of the class loader loading the framework classes.
>>>
>>>
>>>
>>>        
>>>> Sorry..this may be silly..but I am very new to programming. I
>>>> strugled
>>>> 2 days to do this thing. I really missed c++ .h and .cpp file. All
>>>> this setting up packages wouldn't be there in c++...!
>>>>
>>>>
>>>>
>>>>          
>>> I doubt you'd have much success doing dynamic code loading in C++ as
>>> a newbie as well... :-)
>>>
>>> ->    richard
>>>
>>>
>>>
>>>        
>>>> Regards
>>>> Nasir
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>>> Sent: Saturday, February 20, 2010 1:05 PM
>>>> To: users@felix.apache.org
>>>> Subject: Re: unresolved package org.osgi.framework...
>>>>
>>>> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>>>>
>>>>
>>>>
>>>>          
>>>>> Thank you for reply.
>>>>>
>>>>> 1) I am using felix 1.0.3. I had read the link. But I dint find
>>>>> org.osgi.framework.system.packages.extra in the config property
>>>>> file..Where can I configure this?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> If you are embedding a framework instance, it should be in the map
>>>> you pass into the framework when you construct the instance, as
>>>> documented on the mentioned page.
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>>> In my case if interfaces present in the service.jar is considered
>>>>> as system package?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> Any package that you want to make available from the class path (via
>>>> the system bundle) is considered a system package. This is shown
>>>> with the Lookup service in the mentioned page.
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>>> I have few some other doubts. When we launch felix like
>>>>>
>>>>> Java -jar bin/felix. It takes the config files from conf dir. But
>>>>> if we embed the felix.jar in some application. Where does it read
>>>>> the config files
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> It doesn't. You must configure it yourself by putting the values in
>>>> a map, which you pass into the framework instance.
>>>>
>>>> ->     richard
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>>> Address: Huawei Industrial Base
>>>>> www.huawei.com
>>>>> -------------------------------------------------------------------
>>>>> -
>>>>> -
>>>>> -
>>>>> ------
>>>>> ---------------------------------------------------------
>>>>> This e-mail and its attachments contain confidential information
>>>>> from HUAWEI, which is intended only for the person or entity whose
>>>>> address is listed above. Any use of the information contained
>>>>> herein in any way (including, but not limited to, total or partial
>>>>> disclosure, reproduction, or dissemination) by persons other than
>>>>> the intended
>>>>> recipient(s) is prohibited. If you receive this e-mail in error,
>>>>> please notify the sender by phone or email immediately and delete it!
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>>>> Sent: Saturday, February 20, 2010 11:51 AM
>>>>> To: users@felix.apache.org
>>>>> Subject: Re: unresolved package org.osgi.framework...
>>>>>
>>>>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>> Hi All
>>>>>>
>>>>>> I have a setup some thing like this.
>>>>>>
>>>>>> I have an exe which loads a jar file say Service.jar (Which has a
>>>>>> class CService). This jar file instantiates (Embed new Felix(,,))
>>>>>>
>>>>>>              
>> Felix.
>>
>>      
>>>>>> Now using Felix instance i will register a service and pass object
>>>>>> if CService to it.
>>>>>>
>>>>>> Now I have a felix bundle which  finds the service and uses it.
>>>>>>
>>>>>> Service.jar is loaded by some exe. (That is exe loads the
>>>>>> Service.jar, jar instantiates Felix.)
>>>>>>
>>>>>> Interace which Service implements for registering the service i
>>>>>> have made as another jar. (Is this correct?? Or interface should
>>>>>> be inside the OSGI bundle itself?)
>>>>>>
>>>>>>
>>>>>> Now my problem is loaded bundle is not able to find the package
>>>>>> exported by service.jar.
>>>>>>
>>>>>> I would like to know, Is this type of setup is possible? Is this
>>>>>>              
> valid?
>    
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>> If I understand correctly, you have some application that loads
>>>>> service.jar, which itself contains felix.jar (or at least expects
>>>>> felix.jar to be on its class path. You load and instantiate some
>>>>> class out of service.jar which instantiates and registers a service
>>>>> inside of it. Some bundle inside of the framework instance is not
>>>>> able to see the
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> service package. Correct?
>>>>
>>>>
>>>>
>>>>          
>>>>> You need to make sure you configure your framework instance to
>>>>> export your service package using the
>>>>> org.osgi.framework.system.packages.extra
>>>>> property. This also means that you have to ensure that whatever
>>>>> class loader is loading felix.jar also has access to your service
>>>>>
>>>>>            
>> package. See:
>>
>>      
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>>        
>>      
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>>
>>      
>>>
>>>        
>>>>
>>>>          
>>>>> html
>>>>>
>>>>> ->      richard
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>> I have attached the consol trace of what happned and the manifest
>>>>>> file of the bundle.
>>>>>>
>>>>>>
>>>>>> Welcome to Felix.
>>>>>> =================
>>>>>>
>>>>>> Enter profile name: 1
>>>>>>
>>>>>> DEBUG: WIRE: 1.0 ->       org.ungoverned.osgi.service.shell ->       1.0
>>>>>> DEBUG: WIRE: 1.0 ->       org.osgi.service.startlevel ->       0
>>>>>> DEBUG: WIRE: 1.0 ->       org.apache.felix.shell ->       1.0
>>>>>> DEBUG: WIRE: 1.0 ->       org.osgi.framework ->       0
>>>>>> DEBUG: WIRE: 1.0 ->       org.osgi.service.packageadmin ->       0
>>>>>> DEBUG: WIRE: 2.0 ->       org.apache.felix.shell ->       1.0
>>>>>> DEBUG: WIRE: 2.0 ->       org.osgi.framework ->       0
>>>>>> DEBUG: WIRE: 3.0 ->       org.osgi.framework ->       0
>>>>>> DEBUG: WIRE: 3.0 ->       org.osgi.service.obr ->       3.0
>>>>>> ->       DEBUG: WIRE: 3.0 ->       org.apache.felix.shell ->       1.0
>>>>>> Intalled....
>>>>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>>>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>>>
>>>>
>>>>
>>>>          
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>>>
>>>>
>>>>
>>>>          
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>>               at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>              
>>> demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>>
>>>
>>>        
>>>>>>               at
>>>>>>
>>>>>>              
> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>    
>>>>>>               at
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>>        
>>      
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>>
>>>        
>>>>
>>>>          
>>>>>
>>>>>            
>>>>>> 70)
>>>>>>               at
>>>>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>>>>               at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>>>>
>>>>>> ->       ps
>>>>>>
>>>>>> =========================Manifest
>>>>>> File===================================
>>>>>> Bundle-Name: Dictionary client
>>>>>> Bundle-Description: A bundle that uses the dictionary service if
>>>>>> it finds it at startup
>>>>>> Bundle-Vendor: Apache Felix
>>>>>> Bundle-Version: 1.0.0
>>>>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>>>>> Import-Package: org.osgi.framework,demoOsgiService
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>              
>>>>> -------------------------------------------------------------------
>>>>> -
>>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> -
>>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>>
>>>>
>>>>          
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: unresolved package org.osgi.framework...

Posted by Mahammad Nasir <ma...@huawei.com>.
 

You know your quick answer helps a lot for people like me. I got it working
finallly.

I think web pages is having enough info to the people those who already
worked in java. My case was like I was new to java, oSGI etc etc.

Still when I searched for launching felix..fiest hit was

http://felix.apache.org/site/launching-and-embedding-apache-felix.html


Not 

http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
html


But...Bot the pages looked same!! So I always thought I have read
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
html, but I was reffering
http://felix.apache.org/site/launching-and-embedding-apache-felix.html


One more thing, I felt like there are very less examples for embedding
felix.

Thanks a lot
Nasir


-----Original Message-----
From: Richard S. Hall [mailto:heavy@ungoverned.org] 
Sent: Monday, February 22, 2010 6:29 AM
To: users@felix.apache.org
Subject: Re: unresolved package org.osgi.framework...

On 2/21/10 7:06 PM, Mahammad Nasir wrote:
> Thank you..It worked...!
>    

Excellent. Feel free to offer some suggestions on improving the web page if
it wasn't clear.

-> richard

> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 8:24 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
>
>
> On 2/20/10 5:33 PM, Mahammad Nasir wrote:
>    
>> Hi richard
>>
>> I have tried the same thing.
>>
>>
>> 		Properties props = new Properties();
>> 		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
>> 		framework = factory.newFramework(props);
>> 		try {
>> 			framework.init();
>> 			framework.start();
>>
>> 		}
>>
>> After this if I debug and check what config present in framework, It 
>> is showing this:
>> [null, null, null, null, null, null, null, null, 
>> org.osgi.framework.system.packages.extra=Dummy, null, null]
>>
>> Rest of the things are set to null.
>>
>> But I was intended to modify only
>>      
> org.osgi.framework.system.packages.extra.
>    
>>
>>      
> Just set that value and nothing more. The examples on the web page 
> show how to do exactly this.
>
> ->  richard
>
>    
>> There is no api getProperties exposed so that I can get entire 
>> key-valuee pair and modify only this key.
>>
>> How can I set only this key??
>>
>>
>> Thanks a lot. I am makinng you answer silly quests..
>>
>>
>> Nasir
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 2:43 PM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>>
>>      
>>> Thanks a lot.
>>>
>>> Now that I need to set org.osgi.framework.system.packages.extra and 
>>> pass it to framework. Is it enough if I pass only this property?
>>>
>>> Or I need to copy the peoperties laoded by default and append 
>>> org.osgi.framework.system.packages.extra key? If so how to get the 
>>> default kev-value pair?
>>>
>>>
>>>        
>> The framework sets reasonable defaults for all properties as required 
>> by the spec. You only need to set properties for which the default is 
>> undefined or you don't like the default value.
>>
>> For this specific property, though, you need to make sure whichever 
>> packages you are adding to it are also accessible (i.e., on the class
>> path) of the class loader loading the framework classes.
>>
>>
>>      
>>> Sorry..this may be silly..but I am very new to programming. I 
>>> strugled
>>> 2 days to do this thing. I really missed c++ .h and .cpp file. All 
>>> this setting up packages wouldn't be there in c++...!
>>>
>>>
>>>        
>> I doubt you'd have much success doing dynamic code loading in C++ as 
>> a newbie as well... :-)
>>
>> ->   richard
>>
>>
>>      
>>> Regards
>>> Nasir
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>> Sent: Saturday, February 20, 2010 1:05 PM
>>> To: users@felix.apache.org
>>> Subject: Re: unresolved package org.osgi.framework...
>>>
>>> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>>>
>>>
>>>        
>>>> Thank you for reply.
>>>>
>>>> 1) I am using felix 1.0.3. I had read the link. But I dint find 
>>>> org.osgi.framework.system.packages.extra in the config property 
>>>> file..Where can I configure this?
>>>>
>>>>
>>>>
>>>>          
>>> If you are embedding a framework instance, it should be in the map 
>>> you pass into the framework when you construct the instance, as 
>>> documented on the mentioned page.
>>>
>>>
>>>
>>>        
>>>> In my case if interfaces present in the service.jar is considered 
>>>> as system package?
>>>>
>>>>
>>>>
>>>>          
>>> Any package that you want to make available from the class path (via 
>>> the system bundle) is considered a system package. This is shown 
>>> with the Lookup service in the mentioned page.
>>>
>>>
>>>
>>>        
>>>> I have few some other doubts. When we launch felix like
>>>>
>>>> Java -jar bin/felix. It takes the config files from conf dir. But 
>>>> if we embed the felix.jar in some application. Where does it read 
>>>> the config files
>>>>
>>>>
>>>>
>>>>          
>>> It doesn't. You must configure it yourself by putting the values in 
>>> a map, which you pass into the framework instance.
>>>
>>> ->    richard
>>>
>>>
>>>
>>>        
>>>> Address: Huawei Industrial Base
>>>> www.huawei.com
>>>> -------------------------------------------------------------------
>>>> -
>>>> -
>>>> -
>>>> ------
>>>> ---------------------------------------------------------
>>>> This e-mail and its attachments contain confidential information 
>>>> from HUAWEI, which is intended only for the person or entity whose 
>>>> address is listed above. Any use of the information contained 
>>>> herein in any way (including, but not limited to, total or partial 
>>>> disclosure, reproduction, or dissemination) by persons other than 
>>>> the intended
>>>> recipient(s) is prohibited. If you receive this e-mail in error, 
>>>> please notify the sender by phone or email immediately and delete it!
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>>> Sent: Saturday, February 20, 2010 11:51 AM
>>>> To: users@felix.apache.org
>>>> Subject: Re: unresolved package org.osgi.framework...
>>>>
>>>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>>>
>>>>
>>>>
>>>>          
>>>>> Hi All
>>>>>
>>>>> I have a setup some thing like this.
>>>>>
>>>>> I have an exe which loads a jar file say Service.jar (Which has a 
>>>>> class CService). This jar file instantiates (Embed new Felix(,,))
>>>>>            
> Felix.
>    
>>>>> Now using Felix instance i will register a service and pass object 
>>>>> if CService to it.
>>>>>
>>>>> Now I have a felix bundle which  finds the service and uses it.
>>>>>
>>>>> Service.jar is loaded by some exe. (That is exe loads the 
>>>>> Service.jar, jar instantiates Felix.)
>>>>>
>>>>> Interace which Service implements for registering the service i 
>>>>> have made as another jar. (Is this correct?? Or interface should 
>>>>> be inside the OSGI bundle itself?)
>>>>>
>>>>>
>>>>> Now my problem is loaded bundle is not able to find the package 
>>>>> exported by service.jar.
>>>>>
>>>>> I would like to know, Is this type of setup is possible? Is this
valid?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> If I understand correctly, you have some application that loads 
>>>> service.jar, which itself contains felix.jar (or at least expects 
>>>> felix.jar to be on its class path. You load and instantiate some 
>>>> class out of service.jar which instantiates and registers a service 
>>>> inside of it. Some bundle inside of the framework instance is not 
>>>> able to see the
>>>>
>>>>
>>>>          
>>> service package. Correct?
>>>
>>>
>>>        
>>>> You need to make sure you configure your framework instance to 
>>>> export your service package using the 
>>>> org.osgi.framework.system.packages.extra
>>>> property. This also means that you have to ensure that whatever 
>>>> class loader is loading felix.jar also has access to your service
>>>>          
> package. See:
>    
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>
>>>        
>>      
>
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>>
>>      
>>>
>>>        
>>>> html
>>>>
>>>> ->     richard
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>>> I have attached the consol trace of what happned and the manifest 
>>>>> file of the bundle.
>>>>>
>>>>>
>>>>> Welcome to Felix.
>>>>> =================
>>>>>
>>>>> Enter profile name: 1
>>>>>
>>>>> DEBUG: WIRE: 1.0 ->      org.ungoverned.osgi.service.shell ->      1.0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.service.startlevel ->      0
>>>>> DEBUG: WIRE: 1.0 ->      org.apache.felix.shell ->      1.0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.service.packageadmin ->      0
>>>>> DEBUG: WIRE: 2.0 ->      org.apache.felix.shell ->      1.0
>>>>> DEBUG: WIRE: 2.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 3.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 3.0 ->      org.osgi.service.obr ->      3.0
>>>>> ->      DEBUG: WIRE: 3.0 ->      org.apache.felix.shell ->      1.0
>>>>> Intalled....
>>>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>>>
>>>>
>>>>
>>>>          
>>>>>              at
>>>>>
>>>>>
>>>>>            
>>> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>>
>>>
>>>        
>>>>>              at
>>>>>
>>>>>
>>>>>            
>>> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>>
>>>
>>>        
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>>>
>>>>
>>>>
>>>>          
>>>>>              at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>>>              at
>>>>>
>>>>>            
>> demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>
>>      
>>>>>              at
>>>>>
com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>>        
>>      
>
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>>
>>>        
>>>>
>>>>          
>>>>> 70)
>>>>>              at
>>>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>>>              at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>>>
>>>>> ->      ps
>>>>>
>>>>> =========================Manifest
>>>>> File===================================
>>>>> Bundle-Name: Dictionary client
>>>>> Bundle-Description: A bundle that uses the dictionary service if 
>>>>> it finds it at startup
>>>>> Bundle-Vendor: Apache Felix
>>>>> Bundle-Version: 1.0.0
>>>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>>>> Import-Package: org.osgi.framework,demoOsgiService
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> -------------------------------------------------------------------
>>>> -
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> -
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>>
>>>>
>>>>          
>>> --------------------------------------------------------------------
>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> --------------------------------------------------------------------
>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/21/10 7:06 PM, Mahammad Nasir wrote:
> Thank you..It worked...!
>    

Excellent. Feel free to offer some suggestions on improving the web page 
if it wasn't clear.

-> richard

> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 8:24 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
>
>
> On 2/20/10 5:33 PM, Mahammad Nasir wrote:
>    
>> Hi richard
>>
>> I have tried the same thing.
>>
>>
>> 		Properties props = new Properties();
>> 		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
>> 		framework = factory.newFramework(props);
>> 		try {
>> 			framework.init();
>> 			framework.start();
>>
>> 		}
>>
>> After this if I debug and check what config present in framework, It
>> is showing this:
>> [null, null, null, null, null, null, null, null,
>> org.osgi.framework.system.packages.extra=Dummy, null, null]
>>
>> Rest of the things are set to null.
>>
>> But I was intended to modify only
>>      
> org.osgi.framework.system.packages.extra.
>    
>>
>>      
> Just set that value and nothing more. The examples on the web page show how
> to do exactly this.
>
> ->  richard
>
>    
>> There is no api getProperties exposed so that I can get entire
>> key-valuee pair and modify only this key.
>>
>> How can I set only this key??
>>
>>
>> Thanks a lot. I am makinng you answer silly quests..
>>
>>
>> Nasir
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 2:43 PM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>>
>>      
>>> Thanks a lot.
>>>
>>> Now that I need to set org.osgi.framework.system.packages.extra and
>>> pass it to framework. Is it enough if I pass only this property?
>>>
>>> Or I need to copy the peoperties laoded by default and append
>>> org.osgi.framework.system.packages.extra key? If so how to get the
>>> default kev-value pair?
>>>
>>>
>>>        
>> The framework sets reasonable defaults for all properties as required
>> by the spec. You only need to set properties for which the default is
>> undefined or you don't like the default value.
>>
>> For this specific property, though, you need to make sure whichever
>> packages you are adding to it are also accessible (i.e., on the class
>> path) of the class loader loading the framework classes.
>>
>>
>>      
>>> Sorry..this may be silly..but I am very new to programming. I
>>> strugled
>>> 2 days to do this thing. I really missed c++ .h and .cpp file. All
>>> this setting up packages wouldn't be there in c++...!
>>>
>>>
>>>        
>> I doubt you'd have much success doing dynamic code loading in C++ as a
>> newbie as well... :-)
>>
>> ->   richard
>>
>>
>>      
>>> Regards
>>> Nasir
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>> Sent: Saturday, February 20, 2010 1:05 PM
>>> To: users@felix.apache.org
>>> Subject: Re: unresolved package org.osgi.framework...
>>>
>>> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>>>
>>>
>>>        
>>>> Thank you for reply.
>>>>
>>>> 1) I am using felix 1.0.3. I had read the link. But I dint find
>>>> org.osgi.framework.system.packages.extra in the config property
>>>> file..Where can I configure this?
>>>>
>>>>
>>>>
>>>>          
>>> If you are embedding a framework instance, it should be in the map
>>> you pass into the framework when you construct the instance, as
>>> documented on the mentioned page.
>>>
>>>
>>>
>>>        
>>>> In my case if interfaces present in the service.jar is considered as
>>>> system package?
>>>>
>>>>
>>>>
>>>>          
>>> Any package that you want to make available from the class path (via
>>> the system bundle) is considered a system package. This is shown with
>>> the Lookup service in the mentioned page.
>>>
>>>
>>>
>>>        
>>>> I have few some other doubts. When we launch felix like
>>>>
>>>> Java -jar bin/felix. It takes the config files from conf dir. But if
>>>> we embed the felix.jar in some application. Where does it read the
>>>> config files
>>>>
>>>>
>>>>
>>>>          
>>> It doesn't. You must configure it yourself by putting the values in a
>>> map, which you pass into the framework instance.
>>>
>>> ->    richard
>>>
>>>
>>>
>>>        
>>>> Address: Huawei Industrial Base
>>>> www.huawei.com
>>>> --------------------------------------------------------------------
>>>> -
>>>> -
>>>> ------
>>>> ---------------------------------------------------------
>>>> This e-mail and its attachments contain confidential information
>>>> from HUAWEI, which is intended only for the person or entity whose
>>>> address is listed above. Any use of the information contained herein
>>>> in any way (including, but not limited to, total or partial
>>>> disclosure, reproduction, or dissemination) by persons other than
>>>> the intended
>>>> recipient(s) is prohibited. If you receive this e-mail in error,
>>>> please notify the sender by phone or email immediately and delete it!
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>>> Sent: Saturday, February 20, 2010 11:51 AM
>>>> To: users@felix.apache.org
>>>> Subject: Re: unresolved package org.osgi.framework...
>>>>
>>>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>>>
>>>>
>>>>
>>>>          
>>>>> Hi All
>>>>>
>>>>> I have a setup some thing like this.
>>>>>
>>>>> I have an exe which loads a jar file say Service.jar (Which has a
>>>>> class CService). This jar file instantiates (Embed new Felix(,,))
>>>>>            
> Felix.
>    
>>>>> Now using Felix instance i will register a service and pass object
>>>>> if CService to it.
>>>>>
>>>>> Now I have a felix bundle which  finds the service and uses it.
>>>>>
>>>>> Service.jar is loaded by some exe. (That is exe loads the
>>>>> Service.jar, jar instantiates Felix.)
>>>>>
>>>>> Interace which Service implements for registering the service i
>>>>> have made as another jar. (Is this correct?? Or interface should be
>>>>> inside the OSGI bundle itself?)
>>>>>
>>>>>
>>>>> Now my problem is loaded bundle is not able to find the package
>>>>> exported by service.jar.
>>>>>
>>>>> I would like to know, Is this type of setup is possible? Is this valid?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> If I understand correctly, you have some application that loads
>>>> service.jar, which itself contains felix.jar (or at least expects
>>>> felix.jar to be on its class path. You load and instantiate some
>>>> class out of service.jar which instantiates and registers a service
>>>> inside of it. Some bundle inside of the framework instance is not
>>>> able to see the
>>>>
>>>>
>>>>          
>>> service package. Correct?
>>>
>>>
>>>        
>>>> You need to make sure you configure your framework instance to
>>>> export your service package using the
>>>> org.osgi.framework.system.packages.extra
>>>> property. This also means that you have to ensure that whatever
>>>> class loader is loading felix.jar also has access to your service
>>>>          
> package. See:
>    
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>
>>>        
>>      
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>>
>>      
>>>
>>>        
>>>> html
>>>>
>>>> ->     richard
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>>> I have attached the consol trace of what happned and the manifest
>>>>> file of the bundle.
>>>>>
>>>>>
>>>>> Welcome to Felix.
>>>>> =================
>>>>>
>>>>> Enter profile name: 1
>>>>>
>>>>> DEBUG: WIRE: 1.0 ->      org.ungoverned.osgi.service.shell ->      1.0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.service.startlevel ->      0
>>>>> DEBUG: WIRE: 1.0 ->      org.apache.felix.shell ->      1.0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 1.0 ->      org.osgi.service.packageadmin ->      0
>>>>> DEBUG: WIRE: 2.0 ->      org.apache.felix.shell ->      1.0
>>>>> DEBUG: WIRE: 2.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 3.0 ->      org.osgi.framework ->      0
>>>>> DEBUG: WIRE: 3.0 ->      org.osgi.service.obr ->      3.0
>>>>> ->      DEBUG: WIRE: 3.0 ->      org.apache.felix.shell ->      1.0
>>>>> Intalled....
>>>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>>>
>>>>
>>>>
>>>>          
>>>>>              at
>>>>>
>>>>>
>>>>>            
>>> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>>
>>>
>>>        
>>>>>              at
>>>>>
>>>>>
>>>>>            
>>> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>>
>>>
>>>        
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>>>
>>>>
>>>>
>>>>          
>>>>>              at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>>>              at
>>>>>
>>>>>            
>> demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>
>>      
>>>>>              at
>>>>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>>>              at
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>>        
>>      
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>>
>>>        
>>>>
>>>>          
>>>>> 70)
>>>>>              at
>>>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>>>              at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>>>
>>>>> ->      ps
>>>>>
>>>>> =========================Manifest
>>>>> File===================================
>>>>> Bundle-Name: Dictionary client
>>>>> Bundle-Description: A bundle that uses the dictionary service if it
>>>>> finds it at startup
>>>>> Bundle-Vendor: Apache Felix
>>>>> Bundle-Version: 1.0.0
>>>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>>>> Import-Package: org.osgi.framework,demoOsgiService
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>            
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>>
>>>>
>>>>
>>>>          
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: unresolved package org.osgi.framework...

Posted by Mahammad Nasir <ma...@huawei.com>.
Thank you..It worked...!

-----Original Message-----
From: Richard S. Hall [mailto:heavy@ungoverned.org] 
Sent: Saturday, February 20, 2010 8:24 PM
To: users@felix.apache.org
Subject: Re: unresolved package org.osgi.framework...



On 2/20/10 5:33 PM, Mahammad Nasir wrote:
> Hi richard
>
> I have tried the same thing.
>
>
> 		Properties props = new Properties();
> 		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
> 		framework = factory.newFramework(props);
> 		try {
> 			framework.init();
> 			framework.start();
>
> 		}
>
> After this if I debug and check what config present in framework, It 
> is showing this:
> [null, null, null, null, null, null, null, null, 
> org.osgi.framework.system.packages.extra=Dummy, null, null]
>
> Rest of the things are set to null.
>
> But I was intended to modify only
org.osgi.framework.system.packages.extra.
>    

Just set that value and nothing more. The examples on the web page show how
to do exactly this.

-> richard

>
> There is no api getProperties exposed so that I can get entire 
> key-valuee pair and modify only this key.
>
> How can I set only this key??
>
>
> Thanks a lot. I am makinng you answer silly quests..
>
>
> Nasir
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 2:43 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>    
>> Thanks a lot.
>>
>> Now that I need to set org.osgi.framework.system.packages.extra and 
>> pass it to framework. Is it enough if I pass only this property?
>>
>> Or I need to copy the peoperties laoded by default and append 
>> org.osgi.framework.system.packages.extra key? If so how to get the 
>> default kev-value pair?
>>
>>      
> The framework sets reasonable defaults for all properties as required 
> by the spec. You only need to set properties for which the default is 
> undefined or you don't like the default value.
>
> For this specific property, though, you need to make sure whichever 
> packages you are adding to it are also accessible (i.e., on the class
> path) of the class loader loading the framework classes.
>
>    
>> Sorry..this may be silly..but I am very new to programming. I 
>> strugled
>> 2 days to do this thing. I really missed c++ .h and .cpp file. All 
>> this setting up packages wouldn't be there in c++...!
>>
>>      
> I doubt you'd have much success doing dynamic code loading in C++ as a 
> newbie as well... :-)
>
> ->  richard
>
>    
>> Regards
>> Nasir
>>
>>
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 1:05 PM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>>
>>      
>>> Thank you for reply.
>>>
>>> 1) I am using felix 1.0.3. I had read the link. But I dint find 
>>> org.osgi.framework.system.packages.extra in the config property 
>>> file..Where can I configure this?
>>>
>>>
>>>        
>> If you are embedding a framework instance, it should be in the map 
>> you pass into the framework when you construct the instance, as 
>> documented on the mentioned page.
>>
>>
>>      
>>> In my case if interfaces present in the service.jar is considered as 
>>> system package?
>>>
>>>
>>>        
>> Any package that you want to make available from the class path (via 
>> the system bundle) is considered a system package. This is shown with 
>> the Lookup service in the mentioned page.
>>
>>
>>      
>>> I have few some other doubts. When we launch felix like
>>>
>>> Java -jar bin/felix. It takes the config files from conf dir. But if 
>>> we embed the felix.jar in some application. Where does it read the 
>>> config files
>>>
>>>
>>>        
>> It doesn't. You must configure it yourself by putting the values in a 
>> map, which you pass into the framework instance.
>>
>> ->   richard
>>
>>
>>      
>>> Address: Huawei Industrial Base
>>> www.huawei.com
>>> --------------------------------------------------------------------
>>> -
>>> -
>>> ------
>>> ---------------------------------------------------------
>>> This e-mail and its attachments contain confidential information 
>>> from HUAWEI, which is intended only for the person or entity whose 
>>> address is listed above. Any use of the information contained herein 
>>> in any way (including, but not limited to, total or partial 
>>> disclosure, reproduction, or dissemination) by persons other than 
>>> the intended
>>> recipient(s) is prohibited. If you receive this e-mail in error, 
>>> please notify the sender by phone or email immediately and delete it!
>>>
>>>
>>> -----Original Message-----
>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>> Sent: Saturday, February 20, 2010 11:51 AM
>>> To: users@felix.apache.org
>>> Subject: Re: unresolved package org.osgi.framework...
>>>
>>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>>
>>>
>>>        
>>>> Hi All
>>>>
>>>> I have a setup some thing like this.
>>>>
>>>> I have an exe which loads a jar file say Service.jar (Which has a 
>>>> class CService). This jar file instantiates (Embed new Felix(,,))
Felix.
>>>>
>>>> Now using Felix instance i will register a service and pass object 
>>>> if CService to it.
>>>>
>>>> Now I have a felix bundle which  finds the service and uses it.
>>>>
>>>> Service.jar is loaded by some exe. (That is exe loads the 
>>>> Service.jar, jar instantiates Felix.)
>>>>
>>>> Interace which Service implements for registering the service i 
>>>> have made as another jar. (Is this correct?? Or interface should be 
>>>> inside the OSGI bundle itself?)
>>>>
>>>>
>>>> Now my problem is loaded bundle is not able to find the package 
>>>> exported by service.jar.
>>>>
>>>> I would like to know, Is this type of setup is possible? Is this valid?
>>>>
>>>>
>>>>
>>>>          
>>> If I understand correctly, you have some application that loads 
>>> service.jar, which itself contains felix.jar (or at least expects 
>>> felix.jar to be on its class path. You load and instantiate some 
>>> class out of service.jar which instantiates and registers a service 
>>> inside of it. Some bundle inside of the framework instance is not 
>>> able to see the
>>>
>>>        
>> service package. Correct?
>>
>>      
>>> You need to make sure you configure your framework instance to 
>>> export your service package using the 
>>> org.osgi.framework.system.packages.extra
>>> property. This also means that you have to ensure that whatever 
>>> class loader is loading felix.jar also has access to your service
package. See:
>>>
>>>
>>>
>>>
>>>        
>>      
>
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>>
>>      
>>> html
>>>
>>> ->    richard
>>>
>>>
>>>
>>>        
>>>> I have attached the consol trace of what happned and the manifest 
>>>> file of the bundle.
>>>>
>>>>
>>>> Welcome to Felix.
>>>> =================
>>>>
>>>> Enter profile name: 1
>>>>
>>>> DEBUG: WIRE: 1.0 ->     org.ungoverned.osgi.service.shell ->     1.0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.service.startlevel ->     0
>>>> DEBUG: WIRE: 1.0 ->     org.apache.felix.shell ->     1.0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.service.packageadmin ->     0
>>>> DEBUG: WIRE: 2.0 ->     org.apache.felix.shell ->     1.0
>>>> DEBUG: WIRE: 2.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 3.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 3.0 ->     org.osgi.service.obr ->     3.0
>>>> ->     DEBUG: WIRE: 3.0 ->     org.apache.felix.shell ->     1.0
>>>> Intalled....
>>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>>             at
>>>>
>>>>
>>>>          
>>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>>
>>>
>>>        
>>>>             at
>>>>
>>>>          
>> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>
>>      
>>>>             at
>>>>
>>>>          
>> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>
>>      
>>>>             at
>>>>
>>>>
>>>>          
>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>>
>>>
>>>        
>>>>             at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>>             at
>>>>          
> demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>    
>>>>             at
>>>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>>             at
>>>>
>>>>
>>>>
>>>>          
>>>
>>>        
>>      
>
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>>
>>>        
>>>> 70)
>>>>             at
>>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>>             at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>>
>>>> ->     ps
>>>>
>>>> =========================Manifest
>>>> File===================================
>>>> Bundle-Name: Dictionary client
>>>> Bundle-Description: A bundle that uses the dictionary service if it 
>>>> finds it at startup
>>>> Bundle-Vendor: Apache Felix
>>>> Bundle-Version: 1.0.0
>>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>>> Import-Package: org.osgi.framework,demoOsgiService
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>          
>>> --------------------------------------------------------------------
>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> --------------------------------------------------------------------
>>> - To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.

On 2/20/10 5:33 PM, Mahammad Nasir wrote:
> Hi richard
>
> I have tried the same thing.
>
>
> 		Properties props = new Properties();
> 		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
> 		framework = factory.newFramework(props);
> 		try {
> 			framework.init();
> 			framework.start();
>
> 		}
>
> After this if I debug and check what config present in framework,
> It is showing this:
> [null, null, null, null, null, null, null, null,
> org.osgi.framework.system.packages.extra=Dummy, null, null]
>
> Rest of the things are set to null.
>
> But I was intended to modify only org.osgi.framework.system.packages.extra.
>    

Just set that value and nothing more. The examples on the web page show 
how to do exactly this.

-> richard

>
> There is no api getProperties exposed so that I can get entire key-valuee
> pair and modify only this key.
>
> How can I set only this key??
>
>
> Thanks a lot. I am makinng you answer silly quests..
>
>
> Nasir
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 2:43 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>    
>> Thanks a lot.
>>
>> Now that I need to set org.osgi.framework.system.packages.extra and
>> pass it to framework. Is it enough if I pass only this property?
>>
>> Or I need to copy the peoperties laoded by default and append
>> org.osgi.framework.system.packages.extra key? If so how to get the
>> default kev-value pair?
>>
>>      
> The framework sets reasonable defaults for all properties as required by the
> spec. You only need to set properties for which the default is undefined or
> you don't like the default value.
>
> For this specific property, though, you need to make sure whichever packages
> you are adding to it are also accessible (i.e., on the class
> path) of the class loader loading the framework classes.
>
>    
>> Sorry..this may be silly..but I am very new to programming. I strugled
>> 2 days to do this thing. I really missed c++ .h and .cpp file. All
>> this setting up packages wouldn't be there in c++...!
>>
>>      
> I doubt you'd have much success doing dynamic code loading in C++ as a
> newbie as well... :-)
>
> ->  richard
>
>    
>> Regards
>> Nasir
>>
>>
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 1:05 PM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>>
>>      
>>> Thank you for reply.
>>>
>>> 1) I am using felix 1.0.3. I had read the link. But I dint find
>>> org.osgi.framework.system.packages.extra in the config property
>>> file..Where can I configure this?
>>>
>>>
>>>        
>> If you are embedding a framework instance, it should be in the map you
>> pass into the framework when you construct the instance, as documented
>> on the mentioned page.
>>
>>
>>      
>>> In my case if interfaces present in the service.jar is considered as
>>> system package?
>>>
>>>
>>>        
>> Any package that you want to make available from the class path (via
>> the system bundle) is considered a system package. This is shown with
>> the Lookup service in the mentioned page.
>>
>>
>>      
>>> I have few some other doubts. When we launch felix like
>>>
>>> Java -jar bin/felix. It takes the config files from conf dir. But if
>>> we embed the felix.jar in some application. Where does it read the
>>> config files
>>>
>>>
>>>        
>> It doesn't. You must configure it yourself by putting the values in a
>> map, which you pass into the framework instance.
>>
>> ->   richard
>>
>>
>>      
>>> Address: Huawei Industrial Base
>>> www.huawei.com
>>> ---------------------------------------------------------------------
>>> -
>>> ------
>>> ---------------------------------------------------------
>>> This e-mail and its attachments contain confidential information from
>>> HUAWEI, which is intended only for the person or entity whose address
>>> is listed above. Any use of the information contained herein in any
>>> way (including, but not limited to, total or partial disclosure,
>>> reproduction, or dissemination) by persons other than the intended
>>> recipient(s) is prohibited. If you receive this e-mail in error,
>>> please notify the sender by phone or email immediately and delete it!
>>>
>>>
>>> -----Original Message-----
>>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>>> Sent: Saturday, February 20, 2010 11:51 AM
>>> To: users@felix.apache.org
>>> Subject: Re: unresolved package org.osgi.framework...
>>>
>>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>>
>>>
>>>        
>>>> Hi All
>>>>
>>>> I have a setup some thing like this.
>>>>
>>>> I have an exe which loads a jar file say Service.jar (Which has a
>>>> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>>>>
>>>> Now using Felix instance i will register a service and pass object
>>>> if CService to it.
>>>>
>>>> Now I have a felix bundle which  finds the service and uses it.
>>>>
>>>> Service.jar is loaded by some exe. (That is exe loads the
>>>> Service.jar, jar instantiates Felix.)
>>>>
>>>> Interace which Service implements for registering the service i have
>>>> made as another jar. (Is this correct?? Or interface should be
>>>> inside the OSGI bundle itself?)
>>>>
>>>>
>>>> Now my problem is loaded bundle is not able to find the package
>>>> exported by service.jar.
>>>>
>>>> I would like to know, Is this type of setup is possible? Is this valid?
>>>>
>>>>
>>>>
>>>>          
>>> If I understand correctly, you have some application that loads
>>> service.jar, which itself contains felix.jar (or at least expects
>>> felix.jar to be on its class path. You load and instantiate some
>>> class out of service.jar which instantiates and registers a service
>>> inside of it. Some bundle inside of the framework instance is not
>>> able to see the
>>>
>>>        
>> service package. Correct?
>>
>>      
>>> You need to make sure you configure your framework instance to export
>>> your service package using the
>>> org.osgi.framework.system.packages.extra
>>> property. This also means that you have to ensure that whatever class
>>> loader is loading felix.jar also has access to your service package. See:
>>>
>>>
>>>
>>>
>>>        
>>      
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>>
>>      
>>> html
>>>
>>> ->    richard
>>>
>>>
>>>
>>>        
>>>> I have attached the consol trace of what happned and the manifest
>>>> file of the bundle.
>>>>
>>>>
>>>> Welcome to Felix.
>>>> =================
>>>>
>>>> Enter profile name: 1
>>>>
>>>> DEBUG: WIRE: 1.0 ->     org.ungoverned.osgi.service.shell ->     1.0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.service.startlevel ->     0
>>>> DEBUG: WIRE: 1.0 ->     org.apache.felix.shell ->     1.0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 1.0 ->     org.osgi.service.packageadmin ->     0
>>>> DEBUG: WIRE: 2.0 ->     org.apache.felix.shell ->     1.0
>>>> DEBUG: WIRE: 2.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 3.0 ->     org.osgi.framework ->     0
>>>> DEBUG: WIRE: 3.0 ->     org.osgi.service.obr ->     3.0
>>>> ->     DEBUG: WIRE: 3.0 ->     org.apache.felix.shell ->     1.0
>>>> Intalled....
>>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>>             at
>>>>
>>>>
>>>>          
>>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>>
>>>
>>>        
>>>>             at
>>>>
>>>>          
>> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>
>>      
>>>>             at
>>>>
>>>>          
>> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>
>>      
>>>>             at
>>>>
>>>>
>>>>          
>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>>
>>>
>>>        
>>>>             at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>>             at
>>>>          
> demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>    
>>>>             at
>>>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>>             at
>>>>
>>>>
>>>>
>>>>          
>>>
>>>        
>>      
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>>
>>>        
>>>> 70)
>>>>             at
>>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>>             at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>>
>>>> ->     ps
>>>>
>>>> =========================Manifest
>>>> File===================================
>>>> Bundle-Name: Dictionary client
>>>> Bundle-Description: A bundle that uses the dictionary service if it
>>>> finds it at startup
>>>> Bundle-Vendor: Apache Felix
>>>> Bundle-Version: 1.0.0
>>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>>> Import-Package: org.osgi.framework,demoOsgiService
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>          
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: unresolved package org.osgi.framework...

Posted by Mahammad Nasir <ma...@huawei.com>.
Hi richard

I have tried the same thing.


		Properties props = new Properties();
		props.setProperty(FRAMEWORK_SYSTEMPACKAGES_EXTRA, "Dummy");
		framework = factory.newFramework(props);
		try {
			framework.init();
			framework.start();

		}

After this if I debug and check what config present in framework, 
It is showing this:
[null, null, null, null, null, null, null, null,
org.osgi.framework.system.packages.extra=Dummy, null, null]

Rest of the things are set to null. 

But I was intended to modify only org.osgi.framework.system.packages.extra.


There is no api getProperties exposed so that I can get entire key-valuee
pair and modify only this key.

How can I set only this key??


Thanks a lot. I am makinng you answer silly quests..


Nasir

-----Original Message-----
From: Richard S. Hall [mailto:heavy@ungoverned.org] 
Sent: Saturday, February 20, 2010 2:43 PM
To: users@felix.apache.org
Subject: Re: unresolved package org.osgi.framework...

On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>
> Thanks a lot.
>
> Now that I need to set org.osgi.framework.system.packages.extra and 
> pass it to framework. Is it enough if I pass only this property?
>
> Or I need to copy the peoperties laoded by default and append 
> org.osgi.framework.system.packages.extra key? If so how to get the 
> default kev-value pair?
>    

The framework sets reasonable defaults for all properties as required by the
spec. You only need to set properties for which the default is undefined or
you don't like the default value.

For this specific property, though, you need to make sure whichever packages
you are adding to it are also accessible (i.e., on the class
path) of the class loader loading the framework classes.

> Sorry..this may be silly..but I am very new to programming. I strugled 
> 2 days to do this thing. I really missed c++ .h and .cpp file. All 
> this setting up packages wouldn't be there in c++...!
>    

I doubt you'd have much success doing dynamic code loading in C++ as a
newbie as well... :-)

-> richard

>
> Regards
> Nasir
>
>
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 1:05 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>    
>>
>> Thank you for reply.
>>
>> 1) I am using felix 1.0.3. I had read the link. But I dint find 
>> org.osgi.framework.system.packages.extra in the config property 
>> file..Where can I configure this?
>>
>>      
> If you are embedding a framework instance, it should be in the map you 
> pass into the framework when you construct the instance, as documented 
> on the mentioned page.
>
>    
>> In my case if interfaces present in the service.jar is considered as 
>> system package?
>>
>>      
> Any package that you want to make available from the class path (via 
> the system bundle) is considered a system package. This is shown with 
> the Lookup service in the mentioned page.
>
>    
>> I have few some other doubts. When we launch felix like
>>
>> Java -jar bin/felix. It takes the config files from conf dir. But if 
>> we embed the felix.jar in some application. Where does it read the 
>> config files
>>
>>      
> It doesn't. You must configure it yourself by putting the values in a 
> map, which you pass into the framework instance.
>
> ->  richard
>
>    
>> Address: Huawei Industrial Base
>> www.huawei.com
>> ---------------------------------------------------------------------
>> -
>> ------
>> ---------------------------------------------------------
>> This e-mail and its attachments contain confidential information from 
>> HUAWEI, which is intended only for the person or entity whose address 
>> is listed above. Any use of the information contained herein in any 
>> way (including, but not limited to, total or partial disclosure, 
>> reproduction, or dissemination) by persons other than the intended
>> recipient(s) is prohibited. If you receive this e-mail in error, 
>> please notify the sender by phone or email immediately and delete it!
>>
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 11:51 AM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>
>>      
>>> Hi All
>>>
>>> I have a setup some thing like this.
>>>
>>> I have an exe which loads a jar file say Service.jar (Which has a 
>>> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>>>
>>> Now using Felix instance i will register a service and pass object 
>>> if CService to it.
>>>
>>> Now I have a felix bundle which  finds the service and uses it.
>>>
>>> Service.jar is loaded by some exe. (That is exe loads the 
>>> Service.jar, jar instantiates Felix.)
>>>
>>> Interace which Service implements for registering the service i have 
>>> made as another jar. (Is this correct?? Or interface should be 
>>> inside the OSGI bundle itself?)
>>>
>>>
>>> Now my problem is loaded bundle is not able to find the package 
>>> exported by service.jar.
>>>
>>> I would like to know, Is this type of setup is possible? Is this valid?
>>>
>>>
>>>        
>> If I understand correctly, you have some application that loads 
>> service.jar, which itself contains felix.jar (or at least expects 
>> felix.jar to be on its class path. You load and instantiate some 
>> class out of service.jar which instantiates and registers a service 
>> inside of it. Some bundle inside of the framework instance is not 
>> able to see the
>>      
> service package. Correct?
>    
>> You need to make sure you configure your framework instance to export 
>> your service package using the 
>> org.osgi.framework.system.packages.extra
>> property. This also means that you have to ensure that whatever class 
>> loader is loading felix.jar also has access to your service package. See:
>>
>>
>>
>>      
>
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>> html
>>
>> ->   richard
>>
>>
>>      
>>> I have attached the consol trace of what happned and the manifest 
>>> file of the bundle.
>>>
>>>
>>> Welcome to Felix.
>>> =================
>>>
>>> Enter profile name: 1
>>>
>>> DEBUG: WIRE: 1.0 ->    org.ungoverned.osgi.service.shell ->    1.0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.service.startlevel ->    0
>>> DEBUG: WIRE: 1.0 ->    org.apache.felix.shell ->    1.0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.service.packageadmin ->    0
>>> DEBUG: WIRE: 2.0 ->    org.apache.felix.shell ->    1.0
>>> DEBUG: WIRE: 2.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 3.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 3.0 ->    org.osgi.service.obr ->    3.0
>>> ->    DEBUG: WIRE: 3.0 ->    org.apache.felix.shell ->    1.0
>>> Intalled....
>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>            at
>>>
>>>        
>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>
>>      
>>>            at
>>>        
> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>    
>>>            at
>>>        
> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>    
>>>            at
>>>
>>>        
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>
>>      
>>>            at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>            at
demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>>            at
>>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>            at
>>>
>>>
>>>        
>>      
>
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>> 70)
>>>            at
>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>            at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>
>>> ->    ps
>>>
>>> =========================Manifest
>>> File===================================
>>> Bundle-Name: Dictionary client
>>> Bundle-Description: A bundle that uses the dictionary service if it 
>>> finds it at startup
>>> Bundle-Vendor: Apache Felix
>>> Bundle-Version: 1.0.0
>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>> Import-Package: org.osgi.framework,demoOsgiService
>>>
>>>
>>>
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/20/10 4:25 PM, Mahammad Nasir wrote:
>
> Thanks a lot.
>
> Now that I need to set org.osgi.framework.system.packages.extra and pass it
> to framework. Is it enough if I pass only this property?
>
> Or I need to copy the peoperties laoded by default and append
> org.osgi.framework.system.packages.extra key? If so how to get the default
> kev-value pair?
>    

The framework sets reasonable defaults for all properties as required by 
the spec. You only need to set properties for which the default is 
undefined or you don't like the default value.

For this specific property, though, you need to make sure whichever 
packages you are adding to it are also accessible (i.e., on the class 
path) of the class loader loading the framework classes.

> Sorry..this may be silly..but I am very new to programming. I strugled 2
> days to do this thing. I really missed c++ .h and .cpp file. All this
> setting up packages wouldn't be there in c++...!
>    

I doubt you'd have much success doing dynamic code loading in C++ as a 
newbie as well... :-)

-> richard

>
> Regards
> Nasir
>
>
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 1:05 PM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>    
>>
>> Thank you for reply.
>>
>> 1) I am using felix 1.0.3. I had read the link. But I dint find
>> org.osgi.framework.system.packages.extra in the config property
>> file..Where can I configure this?
>>
>>      
> If you are embedding a framework instance, it should be in the map you pass
> into the framework when you construct the instance, as documented on the
> mentioned page.
>
>    
>> In my case if interfaces present in the service.jar is considered as
>> system package?
>>
>>      
> Any package that you want to make available from the class path (via the
> system bundle) is considered a system package. This is shown with the Lookup
> service in the mentioned page.
>
>    
>> I have few some other doubts. When we launch felix like
>>
>> Java -jar bin/felix. It takes the config files from conf dir. But if
>> we embed the felix.jar in some application. Where does it read the
>> config files
>>
>>      
> It doesn't. You must configure it yourself by putting the values in a map,
> which you pass into the framework instance.
>
> ->  richard
>
>    
>> Address: Huawei Industrial Base
>> www.huawei.com
>> ----------------------------------------------------------------------
>> ------
>> ---------------------------------------------------------
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which is intended only for the person or entity whose address
>> is listed above. Any use of the information contained herein in any
>> way (including, but not limited to, total or partial disclosure,
>> reproduction, or dissemination) by persons other than the intended
>> recipient(s) is prohibited. If you receive this e-mail in error,
>> please notify the sender by phone or email immediately and delete it!
>>
>>
>> -----Original Message-----
>> From: Richard S. Hall [mailto:heavy@ungoverned.org]
>> Sent: Saturday, February 20, 2010 11:51 AM
>> To: users@felix.apache.org
>> Subject: Re: unresolved package org.osgi.framework...
>>
>> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>>
>>      
>>> Hi All
>>>
>>> I have a setup some thing like this.
>>>
>>> I have an exe which loads a jar file say Service.jar (Which has a
>>> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>>>
>>> Now using Felix instance i will register a service and pass object if
>>> CService to it.
>>>
>>> Now I have a felix bundle which  finds the service and uses it.
>>>
>>> Service.jar is loaded by some exe. (That is exe loads the
>>> Service.jar, jar instantiates Felix.)
>>>
>>> Interace which Service implements for registering the service i have
>>> made as another jar. (Is this correct?? Or interface should be inside
>>> the OSGI bundle itself?)
>>>
>>>
>>> Now my problem is loaded bundle is not able to find the package
>>> exported by service.jar.
>>>
>>> I would like to know, Is this type of setup is possible? Is this valid?
>>>
>>>
>>>        
>> If I understand correctly, you have some application that loads
>> service.jar, which itself contains felix.jar (or at least expects
>> felix.jar to be on its class path. You load and instantiate some class
>> out of service.jar which instantiates and registers a service inside
>> of it. Some bundle inside of the framework instance is not able to see the
>>      
> service package. Correct?
>    
>> You need to make sure you configure your framework instance to export
>> your service package using the
>> org.osgi.framework.system.packages.extra
>> property. This also means that you have to ensure that whatever class
>> loader is loading felix.jar also has access to your service package. See:
>>
>>
>>
>>      
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
>    
>> html
>>
>> ->   richard
>>
>>
>>      
>>> I have attached the consol trace of what happned and the manifest
>>> file of the bundle.
>>>
>>>
>>> Welcome to Felix.
>>> =================
>>>
>>> Enter profile name: 1
>>>
>>> DEBUG: WIRE: 1.0 ->    org.ungoverned.osgi.service.shell ->    1.0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.service.startlevel ->    0
>>> DEBUG: WIRE: 1.0 ->    org.apache.felix.shell ->    1.0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 1.0 ->    org.osgi.service.packageadmin ->    0
>>> DEBUG: WIRE: 2.0 ->    org.apache.felix.shell ->    1.0
>>> DEBUG: WIRE: 2.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 3.0 ->    org.osgi.framework ->    0
>>> DEBUG: WIRE: 3.0 ->    org.osgi.service.obr ->    3.0
>>> ->    DEBUG: WIRE: 3.0 ->    org.apache.felix.shell ->    1.0
>>> Intalled....
>>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>>            at
>>>
>>>        
>> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>>
>>      
>>>            at
>>>        
> org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>    
>>>            at
>>>        
> org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>    
>>>            at
>>>
>>>        
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>>
>>      
>>>            at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>>            at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>>            at
>>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>>            at
>>>
>>>
>>>        
>>      
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>>
>>      
>>> 70)
>>>            at
>>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>>            at com.sdt.sne.Service.onActivated0(Service.java:163)
>>>
>>> ->    ps
>>>
>>> =========================Manifest
>>> File===================================
>>> Bundle-Name: Dictionary client
>>> Bundle-Description: A bundle that uses the dictionary service if it
>>> finds it at startup
>>> Bundle-Vendor: Apache Felix
>>> Bundle-Version: 1.0.0
>>> Bundle-Activator: demoOsgiServiceCleint.Activator
>>> Import-Package: org.osgi.framework,demoOsgiService
>>>
>>>
>>>
>>>
>>>
>>>
>>>        
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: unresolved package org.osgi.framework...

Posted by Mahammad Nasir <ma...@huawei.com>.
 
Thanks a lot. 

Now that I need to set org.osgi.framework.system.packages.extra and pass it
to framework. Is it enough if I pass only this property?

Or I need to copy the peoperties laoded by default and append
org.osgi.framework.system.packages.extra key? If so how to get the default
kev-value pair?


Sorry..this may be silly..but I am very new to programming. I strugled 2
days to do this thing. I really missed c++ .h and .cpp file. All this
setting up packages wouldn't be there in c++...!


Regards
Nasir



-----Original Message-----
From: Richard S. Hall [mailto:heavy@ungoverned.org] 
Sent: Saturday, February 20, 2010 1:05 PM
To: users@felix.apache.org
Subject: Re: unresolved package org.osgi.framework...

On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>
>
> Thank you for reply.
>
> 1) I am using felix 1.0.3. I had read the link. But I dint find 
> org.osgi.framework.system.packages.extra in the config property 
> file..Where can I configure this?
>    

If you are embedding a framework instance, it should be in the map you pass
into the framework when you construct the instance, as documented on the
mentioned page.

> In my case if interfaces present in the service.jar is considered as 
> system package?
>    

Any package that you want to make available from the class path (via the
system bundle) is considered a system package. This is shown with the Lookup
service in the mentioned page.

> I have few some other doubts. When we launch felix like
>
> Java -jar bin/felix. It takes the config files from conf dir. But if 
> we embed the felix.jar in some application. Where does it read the 
> config files
>    

It doesn't. You must configure it yourself by putting the values in a map,
which you pass into the framework instance.

-> richard

> Address: Huawei Industrial Base
> www.huawei.com
> ----------------------------------------------------------------------
> ------
> ---------------------------------------------------------
> This e-mail and its attachments contain confidential information from 
> HUAWEI, which is intended only for the person or entity whose address 
> is listed above. Any use of the information contained herein in any 
> way (including, but not limited to, total or partial disclosure, 
> reproduction, or dissemination) by persons other than the intended
> recipient(s) is prohibited. If you receive this e-mail in error, 
> please notify the sender by phone or email immediately and delete it!
>
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 11:51 AM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>    
>> Hi All
>>
>> I have a setup some thing like this.
>>
>> I have an exe which loads a jar file say Service.jar (Which has a 
>> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>>
>> Now using Felix instance i will register a service and pass object if 
>> CService to it.
>>
>> Now I have a felix bundle which  finds the service and uses it.
>>
>> Service.jar is loaded by some exe. (That is exe loads the 
>> Service.jar, jar instantiates Felix.)
>>
>> Interace which Service implements for registering the service i have 
>> made as another jar. (Is this correct?? Or interface should be inside 
>> the OSGI bundle itself?)
>>
>>
>> Now my problem is loaded bundle is not able to find the package 
>> exported by service.jar.
>>
>> I would like to know, Is this type of setup is possible? Is this valid?
>>
>>      
> If I understand correctly, you have some application that loads 
> service.jar, which itself contains felix.jar (or at least expects 
> felix.jar to be on its class path. You load and instantiate some class 
> out of service.jar which instantiates and registers a service inside 
> of it. Some bundle inside of the framework instance is not able to see the
service package. Correct?
>
> You need to make sure you configure your framework instance to export 
> your service package using the 
> org.osgi.framework.system.packages.extra
> property. This also means that you have to ensure that whatever class 
> loader is loading felix.jar also has access to your service package. See:
>
>
>
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
> html
>
> ->  richard
>
>    
>> I have attached the consol trace of what happned and the manifest 
>> file of the bundle.
>>
>>
>> Welcome to Felix.
>> =================
>>
>> Enter profile name: 1
>>
>> DEBUG: WIRE: 1.0 ->   org.ungoverned.osgi.service.shell ->   1.0
>> DEBUG: WIRE: 1.0 ->   org.osgi.service.startlevel ->   0
>> DEBUG: WIRE: 1.0 ->   org.apache.felix.shell ->   1.0
>> DEBUG: WIRE: 1.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 1.0 ->   org.osgi.service.packageadmin ->   0
>> DEBUG: WIRE: 2.0 ->   org.apache.felix.shell ->   1.0
>> DEBUG: WIRE: 2.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 3.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 3.0 ->   org.osgi.service.obr ->   3.0
>> ->   DEBUG: WIRE: 3.0 ->   org.apache.felix.shell ->   1.0
>> Intalled....
>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>           at
>>      
> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>    
>>           at
org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>           at
org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>           at
>>      
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>    
>>           at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>           at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>           at
>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>           at
>>
>>      
>
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>> 70)
>>           at
>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>           at com.sdt.sne.Service.onActivated0(Service.java:163)
>>
>> ->   ps
>>
>> =========================Manifest
>> File===================================
>> Bundle-Name: Dictionary client
>> Bundle-Description: A bundle that uses the dictionary service if it 
>> finds it at startup
>> Bundle-Vendor: Apache Felix
>> Bundle-Version: 1.0.0
>> Bundle-Activator: demoOsgiServiceCleint.Activator
>> Import-Package: org.osgi.framework,demoOsgiService
>>
>>
>>
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/20/10 2:46 PM, Mahammad Nasir wrote:
>
>
> Thank you for reply.
>
> 1) I am using felix 1.0.3. I had read the link. But I dint find
> org.osgi.framework.system.packages.extra in the config property file..Where
> can I configure this?
>    

If you are embedding a framework instance, it should be in the map you 
pass into the framework when you construct the instance, as documented 
on the mentioned page.

> In my case if interfaces present in the service.jar is considered as system
> package?
>    

Any package that you want to make available from the class path (via the 
system bundle) is considered a system package. This is shown with the 
Lookup service in the mentioned page.

> I have few some other doubts. When we launch felix like
>
> Java -jar bin/felix. It takes the config files from conf dir. But if we
> embed the felix.jar in some application. Where does it read the config files
>    

It doesn't. You must configure it yourself by putting the values in a 
map, which you pass into the framework instance.

-> richard

> Address: Huawei Industrial Base
> www.huawei.com
> ----------------------------------------------------------------------------
> ---------------------------------------------------------
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above. Any
> use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
> -----Original Message-----
> From: Richard S. Hall [mailto:heavy@ungoverned.org]
> Sent: Saturday, February 20, 2010 11:51 AM
> To: users@felix.apache.org
> Subject: Re: unresolved package org.osgi.framework...
>
> On 2/19/10 5:22 PM, Mahammad Nasir wrote:
>    
>> Hi All
>>
>> I have a setup some thing like this.
>>
>> I have an exe which loads a jar file say Service.jar (Which has a
>> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>>
>> Now using Felix instance i will register a service and pass object if
>> CService to it.
>>
>> Now I have a felix bundle which  finds the service and uses it.
>>
>> Service.jar is loaded by some exe. (That is exe loads the Service.jar,
>> jar instantiates Felix.)
>>
>> Interace which Service implements for registering the service i have
>> made as another jar. (Is this correct?? Or interface should be inside
>> the OSGI bundle itself?)
>>
>>
>> Now my problem is loaded bundle is not able to find the package
>> exported by service.jar.
>>
>> I would like to know, Is this type of setup is possible? Is this valid?
>>
>>      
> If I understand correctly, you have some application that loads service.jar,
> which itself contains felix.jar (or at least expects felix.jar to be on its
> class path. You load and instantiate some class out of service.jar which
> instantiates and registers a service inside of it. Some bundle inside of the
> framework instance is not able to see the service package. Correct?
>
> You need to make sure you configure your framework instance to export your
> service package using the org.osgi.framework.system.packages.extra
> property. This also means that you have to ensure that whatever class loader
> is loading felix.jar also has access to your service package. See:
>
>
> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
> html
>
> ->  richard
>
>    
>> I have attached the consol trace of what happned and the manifest file
>> of the bundle.
>>
>>
>> Welcome to Felix.
>> =================
>>
>> Enter profile name: 1
>>
>> DEBUG: WIRE: 1.0 ->   org.ungoverned.osgi.service.shell ->   1.0
>> DEBUG: WIRE: 1.0 ->   org.osgi.service.startlevel ->   0
>> DEBUG: WIRE: 1.0 ->   org.apache.felix.shell ->   1.0
>> DEBUG: WIRE: 1.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 1.0 ->   org.osgi.service.packageadmin ->   0
>> DEBUG: WIRE: 2.0 ->   org.apache.felix.shell ->   1.0
>> DEBUG: WIRE: 2.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 3.0 ->   org.osgi.framework ->   0
>> DEBUG: WIRE: 3.0 ->   org.osgi.service.obr ->   3.0
>> ->   DEBUG: WIRE: 3.0 ->   org.apache.felix.shell ->   1.0
>> Intalled....
>> org.osgi.framework.BundleException: Unresolved package in bundle 13:
>> package; (&(package=demoOsgiService)(version>=0.0.0))
>>           at
>>      
> org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>    
>>           at org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>>           at org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>>           at
>>      
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>    
>>           at demoOsgiService.NonMain.notmain(NonMain.java:232)
>>           at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>>           at
>> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>>           at
>>
>>      
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
>    
>> 70)
>>           at
>> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>>           at com.sdt.sne.Service.onActivated0(Service.java:163)
>>
>> ->   ps
>>
>> =========================Manifest
>> File===================================
>> Bundle-Name: Dictionary client
>> Bundle-Description: A bundle that uses the dictionary service if it
>> finds it at startup
>> Bundle-Vendor: Apache Felix
>> Bundle-Version: 1.0.0
>> Bundle-Activator: demoOsgiServiceCleint.Activator
>> Import-Package: org.osgi.framework,demoOsgiService
>>
>>
>>
>>
>>
>>      
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: unresolved package org.osgi.framework...

Posted by Mahammad Nasir <ma...@huawei.com>.
 

Thank you for reply.

1) I am using felix 1.0.3. I had read the link. But I dint find
org.osgi.framework.system.packages.extra in the config property file..Where
can I configure this?

In my case if interfaces present in the service.jar is considered as system
package?

I have few some other doubts. When we launch felix like

Java -jar bin/felix. It takes the config files from conf dir. But if we
embed the felix.jar in some application. Where does it read the config files

Address: Huawei Industrial Base
www.huawei.com
----------------------------------------------------------------------------
---------------------------------------------------------
This e-mail and its attachments contain confidential information from
HUAWEI, which 
is intended only for the person or entity whose address is listed above. Any
use of the 
information contained herein in any way (including, but not limited to,
total or partial 
disclosure, reproduction, or dissemination) by persons other than the
intended 
recipient(s) is prohibited. If you receive this e-mail in error, please
notify the sender by 
phone or email immediately and delete it!


-----Original Message-----
From: Richard S. Hall [mailto:heavy@ungoverned.org] 
Sent: Saturday, February 20, 2010 11:51 AM
To: users@felix.apache.org
Subject: Re: unresolved package org.osgi.framework...

On 2/19/10 5:22 PM, Mahammad Nasir wrote:
> Hi All
>
> I have a setup some thing like this.
>
> I have an exe which loads a jar file say Service.jar (Which has a 
> class CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>
> Now using Felix instance i will register a service and pass object if 
> CService to it.
>
> Now I have a felix bundle which  finds the service and uses it.
>
> Service.jar is loaded by some exe. (That is exe loads the Service.jar, 
> jar instantiates Felix.)
>
> Interace which Service implements for registering the service i have 
> made as another jar. (Is this correct?? Or interface should be inside 
> the OSGI bundle itself?)
>
>
> Now my problem is loaded bundle is not able to find the package 
> exported by service.jar.
>
> I would like to know, Is this type of setup is possible? Is this valid?
>    

If I understand correctly, you have some application that loads service.jar,
which itself contains felix.jar (or at least expects felix.jar to be on its
class path. You load and instantiate some class out of service.jar which
instantiates and registers a service inside of it. Some bundle inside of the
framework instance is not able to see the service package. Correct?

You need to make sure you configure your framework instance to export your
service package using the org.osgi.framework.system.packages.extra
property. This also means that you have to ensure that whatever class loader
is loading felix.jar also has access to your service package. See:

     
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.
html

-> richard

>
> I have attached the consol trace of what happned and the manifest file 
> of the bundle.
>
>
> Welcome to Felix.
> =================
>
> Enter profile name: 1
>
> DEBUG: WIRE: 1.0 ->  org.ungoverned.osgi.service.shell ->  1.0
> DEBUG: WIRE: 1.0 ->  org.osgi.service.startlevel ->  0
> DEBUG: WIRE: 1.0 ->  org.apache.felix.shell ->  1.0
> DEBUG: WIRE: 1.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 1.0 ->  org.osgi.service.packageadmin ->  0
> DEBUG: WIRE: 2.0 ->  org.apache.felix.shell ->  1.0
> DEBUG: WIRE: 2.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 3.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 3.0 ->  org.osgi.service.obr ->  3.0
> ->  DEBUG: WIRE: 3.0 ->  org.apache.felix.shell ->  1.0
> Intalled....
> org.osgi.framework.BundleException: Unresolved package in bundle 13:
> package; (&(package=demoOsgiService)(version>=0.0.0))
>          at
org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>          at org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>          at org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>          at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>          at demoOsgiService.NonMain.notmain(NonMain.java:232)
>          at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>          at
> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>          at
>
com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
> 70)
>          at
> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>          at com.sdt.sne.Service.onActivated0(Service.java:163)
>
> ->  ps
>
> =========================Manifest 
> File===================================
> Bundle-Name: Dictionary client
> Bundle-Description: A bundle that uses the dictionary service if it 
> finds it at startup
> Bundle-Vendor: Apache Felix
> Bundle-Version: 1.0.0
> Bundle-Activator: demoOsgiServiceCleint.Activator
> Import-Package: org.osgi.framework,demoOsgiService
>
>
>
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: unresolved package org.osgi.framework...

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/19/10 5:22 PM, Mahammad Nasir wrote:
> Hi All
>
> I have a setup some thing like this.
>
> I have an exe which loads a jar file say Service.jar (Which has a class
> CService). This jar file instantiates (Embed new Felix(,,)) Felix.
>
> Now using Felix instance i will register a service and pass object if
> CService to it.
>
> Now I have a felix bundle which  finds the service and uses it.
>
> Service.jar is loaded by some exe. (That is exe loads the Service.jar, jar
> instantiates Felix.)
>
> Interace which Service implements for registering the service i have made as
> another jar. (Is this correct?? Or interface should be inside the OSGI
> bundle itself?)
>
>
> Now my problem is loaded bundle is not able to find the package exported by
> service.jar.
>
> I would like to know, Is this type of setup is possible? Is this valid?
>    

If I understand correctly, you have some application that loads 
service.jar, which itself contains felix.jar (or at least expects 
felix.jar to be on its class path. You load and instantiate some class 
out of service.jar which instantiates and registers a service inside of 
it. Some bundle inside of the framework instance is not able to see the 
service package. Correct?

You need to make sure you configure your framework instance to export 
your service package using the org.osgi.framework.system.packages.extra 
property. This also means that you have to ensure that whatever class 
loader is loading felix.jar also has access to your service package. See:

     
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html

-> richard

>
> I have attached the consol trace of what happned and the manifest file of
> the bundle.
>
>
> Welcome to Felix.
> =================
>
> Enter profile name: 1
>
> DEBUG: WIRE: 1.0 ->  org.ungoverned.osgi.service.shell ->  1.0
> DEBUG: WIRE: 1.0 ->  org.osgi.service.startlevel ->  0
> DEBUG: WIRE: 1.0 ->  org.apache.felix.shell ->  1.0
> DEBUG: WIRE: 1.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 1.0 ->  org.osgi.service.packageadmin ->  0
> DEBUG: WIRE: 2.0 ->  org.apache.felix.shell ->  1.0
> DEBUG: WIRE: 2.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 3.0 ->  org.osgi.framework ->  0
> DEBUG: WIRE: 3.0 ->  org.osgi.service.obr ->  3.0
> ->  DEBUG: WIRE: 3.0 ->  org.apache.felix.shell ->  1.0
> Intalled....
> org.osgi.framework.BundleException: Unresolved package in bundle 13:
> package; (&(package=demoOsgiService)(version>=0.0.0))
>          at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1699)
>          at org.apache.felix.framework.Felix._startBundle(Felix.java:1566)
>          at org.apache.felix.framework.Felix.startBundle(Felix.java:1519)
>          at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:354)
>          at demoOsgiService.NonMain.notmain(NonMain.java:232)
>          at demoOsgiService.COSGIService.runProc(COSGIService.java:152)
>          at
> com.sdt.sne.eoa.passive.PassiveService.mainProc(PassiveService.java:98)
>          at
> com.sdt.sne.eoa.passive.PassiveService.onBasicActivated(PassiveService.java:
> 70)
>          at
> demoOsgiService.COSGIService.onBasicActivated(COSGIService.java:86)
>          at com.sdt.sne.Service.onActivated0(Service.java:163)
>
> ->  ps
>
> =========================Manifest File===================================
> Bundle-Name: Dictionary client
> Bundle-Description: A bundle that uses the dictionary service if it finds it
> at startup
> Bundle-Vendor: Apache Felix
> Bundle-Version: 1.0.0
> Bundle-Activator: demoOsgiServiceCleint.Activator
> Import-Package: org.osgi.framework,demoOsgiService
>
>
>
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org