cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hendy Irawan (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-2091) CXF Bundle is hardly usable under OSGi
Date Fri, 06 Mar 2009 16:43:56 GMT
CXF Bundle is hardly usable under OSGi
--------------------------------------

                 Key: CXF-2091
                 URL: https://issues.apache.org/jira/browse/CXF-2091
             Project: CXF
          Issue Type: Bug
          Components: OSGi
    Affects Versions: 2.1.4
         Environment: Equinox
            Reporter: Hendy Irawan


CXF-Bundle is really hard to use.

The cause is because it's very strict in its Import-Package manifest, version constract. Especially
in packages that are provided by default in say, JDK 6, but not exported with version by Equinox.

For example the: Import-Package: javax.xml.stream; version="1.0.0" results in the following
error

osgi> start 81
org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint:
Import-Package: javax.xml.stream; version="1.0.0"
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:305)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:257)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._start(FrameworkCommandProvider.java:257)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
        at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
        at java.lang.Thread.run(Thread.java:619)

Which happens because Equinox somehow exports the package without version:

osgi> p javax.xml.stream
javax.xml.stream; version="0.0.0"<System Bundle [0]>
  initial@reference:file:plugins/org.eclipse.update.configurator.jar/ [2] imports
  /.../target/work/webapp/WEB-INF/load/org.apache.servicemix.bundles.neethi-2.0.4_1.jar [55]
imports

Note that Neethi packaged by ServiceMix has no problem importing it.

I would vote for these solutions/workarounds:
* remove the version requirement of Import-Package, of all JDK(6) packages
* remove the version requirement for all "1.0.0" packages, or change it to "[0.0.0,2.0.0)"
which means "anything before version 2.0.0, which I think is a more practical interpretation
of require-version-1.0"
* document where to find the rest of dependencies (OSGi bundles, not plain Java JARs). I have
to search through : http://servicemix.apache.org/SMX4/bundles-repository.html , ServiceMix
specs, Geronimo specs, and SpringSource Repository and mix and match between them... nightmare
:-(

Also important: Even if I can find those bundles, simply installing (e.g. javax.*) bundles
which has the proper exported version is usually not enough, because these packages are already
exported by system bundle... these packages will have two suppliers.... resulting in "uses
conflict" errors. Happens to my case. :-(

osgi> b 81
/.../target/work/webapp/WEB-INF/load/cxf-bundle-jaxrs-2.1.4.jar [81]
  Id=81, Status=INSTALLED   Data Root=/.../target/work/eclipse/configuration/org.eclipse.osgi/bundles/81/data
                                                                                         
  No registered services.                                                                
                             
  No services in use.                                                                    
                             
  Exported packages                                                                      
                             
    org.apache.cxf.configuration.jsse; version="2.1.4"[exported]                         
                             
    org.apache.cxf.jaxrs.utils; version="2.1.4"[exported]                                
                             
    org.apache.cxf.service.invoker; version="2.1.4"[exported]                            
                             
    org.codehaus.xfire.aegis.type.java5; version="0.0.0"[exported]                       
                             
    org.apache.cxf.binding.xml; version="2.1.4"[exported]                                
                             
    org.apache.cxf.configuration.security; version="2.1.4"[exported]                     
                             
    org.apache.cxf.bus.spring; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.clustering.spring; version="2.1.4"[exported]                          
                             
    org.apache.cxf.jaxrs.utils.schemas; version="2.1.4"[exported]                        
                             
    org.apache.cxf.management.annotation; version="2.1.4"[exported]                      
                             
    org.apache.cxf.transport.http.gzip; version="2.1.4"[exported]                        
                             
    org.apache.cxf.aegis.util; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.transport.https; version="2.1.4"[exported]                            
                             
    org.apache.cxf.binding.soap.wsdl11; version="2.1.4"[exported]                        
                             
    org.apache.cxf.resource; version="2.1.4"[exported]                                   
                             
    org.apache.cxf.jaxb; version="2.1.4"[exported]                                       
                             
    org.apache.cxf.transports.http_jetty.configuration; version="2.1.4"[exported]        
                             
    org.apache.cxf.workqueue; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.databinding; version="2.1.4"[exported]                                
                             
    org.apache.cxf.endpoint; version="2.1.4"[exported]                                   
                             
    org.apache.cxf.jaxrs.provider; version="2.1.4"[exported]                             
                             
    org.apache.cxf.aegis.xml.stax; version="2.1.4"[exported]                             
                             
    org.apache.cxf.databinding.source; version="2.1.4"[exported]                         
                             
    org.apache.cxf.tools.validator; version="2.1.4"[exported]                            
                             
    org.apache.cxf.jaxrs.utils.multipart; version="2.1.4"[exported]                      
                             
    org.apache.cxf.binding.soap.saaj; version="2.1.4"[exported]                          
                             
    org.apache.cxf.aegis.type.encoded; version="2.1.4"[exported]                         
                             
    org.apache.cxf.transport.http.spring; version="2.1.4"[exported]                      
                             
    org.apache.cxf.ws.addressing.v200403; version="2.1.4"[exported]                      
                             
    org.apache.cxf.bus; version="2.1.4"[exported]                                        
                             
    org.apache.cxf.frontend.spring; version="2.1.4"[exported]                            
                             
    org.apache.cxf.common.annotation; version="2.1.4"[exported]                          
                             
    org.apache.cxf.security.transport; version="2.1.4"[exported]                         
                             
    org.apache.cxf.feature; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.phase; version="2.1.4"[exported]                                      
                             
    org.apache.cxf.configuration.jsse.spring; version="2.1.4"[exported]                  
                             
    org.apache.cxf.binding.xml.wsdl11; version="2.1.4"[exported]                         
                             
    org.apache.cxf.attachment; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.jaxb.io; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.version; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.tools.common; version="2.1.4"[exported]                               
                             
    org.apache.cxf.binding; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.aegis.type.java5; version="2.1.4"[exported]                           
                             
    org.apache.cxf.endpoint.dynamic; version="2.1.4"[exported]                           
                             
    org.apache.cxf.ws.addressing.v200408; version="2.1.4"[exported]                      
                             
    org.apache.cxf.event; version="2.1.4"[exported]                                      
                             
    org.apache.cxf.tools.common.dom; version="2.1.4"[exported]                           
                             
    org.apache.cxf.common.commands; version="2.1.4"[exported]                            
                             
    org.apache.cxf.binding.xml.interceptor; version="2.1.4"[exported]                    
                             
    org.apache.cxf.jca.outbound; version="2.1.4"[exported]                               
                             
    org.apache.cxf.service.model; version="2.1.4"[exported]                              
                             
    org.apache.cxf.simple; version="2.1.4"[exported]                                     
                             
    org.apache.cxf.interceptor; version="2.1.4"[exported]                                
                             
    org.apache.cxf.transport; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.management; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.common.xmlschema; version="2.1.4"[exported]                           
                             
    org.apache.cxf.configuration; version="2.1.4"[exported]                              
                             
    org.apache.cxf.jaxrs.lifecycle; version="2.1.4"[exported]                            
                             
    org.apache.cxf.binding.soap; version="2.1.4"[exported]                               
                             
    org.apache.cxf.aegis.util.date; version="2.1.4"[exported]                            
                             
    org.apache.cxf; version="2.1.4"[exported]                                            
                             
    org.apache.cxf.clustering; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.transport.http_jetty.spring; version="2.1.4"[exported]                
                             
    org.apache.cxf.security; version="2.1.4"[exported]                                   
                             
    org.apache.cxf.staxutils; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.helpers; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.headers; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.transport.http_jetty; version="2.1.4"[exported]                       
                             
    org.apache.cxf.tools.common.extensions.soap; version="2.1.4"[exported]               
                             
    org.apache.cxf.jaxb.attachment; version="2.1.4"[exported]                            
                             
    org.apache.cxf.frontend; version="2.1.4"[exported]                                   
                             
    org.apache.cxf.common.i18n; version="2.1.4"[exported]                                
                             
    org.apache.cxf.bindings.xformat; version="2.1.4"[exported]                           
                             
    org.apache.cxf.ws.policy.builder.primitive; version="2.1.4"[exported]                
                             
    org.apache.cxf.service.factory; version="2.1.4"[exported]                            
                             
    org.apache.cxf.jaxrs.model; version="2.1.4"[exported]                                
                             
    org.apache.cxf.jaxrs.impl; version="2.1.4"[exported]                                 
                             
    META-INF.cxf; version="0.0.0"[exported]                                              
                             
    org.apache.cxf.aegis.type.mtom; version="2.1.4"[exported]                            
                             
    org.apache.cxf.ws.policy; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.transport.http; version="2.1.4"[exported]                             
                             
    org.apache.cxf.ws.policy.builder.xml; version="2.1.4"[exported]                      
                             
    org.apache.cxf.jaxrs.ext; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.transports.http; version="2.1.4"[exported]                            
                             
    org.apache.cxf.aegis.type.basic; version="2.1.4"[exported]                           
                             
    org.apache.cxf.buslifecycle; version="2.1.4"[exported]                               
                             
    org.apache.cxf.wsdl.http; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.bus.extension; version="2.1.4"[exported]                              
                             
    org.apache.cxf.tools.util; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.common.classloader; version="2.1.4"[exported]                         
                             
    org.apache.cxf.ws.policy.util; version="2.1.4"[exported]                             
                             
    org.apache.cxf.jaxrs; version="2.1.4"[exported]                                      
                             
    org.apache.cxf.common.injection; version="2.1.4"[exported]                           
                             
    org.apache.cxf.configuration.spring; version="2.1.4"[exported]                       
                             
    org.apache.cxf.jaxrs.interceptor; version="2.1.4"[exported]                          
                             
    org.apache.cxf.aegis.type.collection; version="2.1.4"[exported]                      
                             
    org.apache.cxf.wsdl11; version="2.1.4"[exported]                                     
                             
    org.apache.cxf.transport.http.policy; version="2.1.4"[exported]                      
                             
    org.apache.cxf.transport.servlet; version="2.1.4"[exported]                          
                             
    org.apache.cxf.common.logging; version="2.1.4"[exported]                             
                             
    org.apache.cxf.catalog; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.tools.common.model; version="2.1.4"[exported]                         
                             
    org.apache.cxf.aegis.databinding; version="2.1.4"[exported]                          
                             
    org.apache.cxf.aegis; version="2.1.4"[exported]                                      
                             
    org.apache.cxf.extension; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.transport.https_jetty; version="2.1.4"[exported]                      
                             
    org.apache.cxf.binding.soap.spring; version="2.1.4"[exported]                        
                             
    org.apache.cxf.message; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.common.util; version="2.1.4"[exported]                                
                             
    org.apache.cxf.binding.soap.interceptor; version="2.1.4"[exported]                   
                             
    org.apache.cxf.tools.common.toolspec; version="2.1.4"[exported]                      
                             
    org.apache.cxf.aegis.util.jdom; version="2.1.4"[exported]                            
                             
    org.apache.cxf.ws.addressing; version="2.1.4"[exported]                              
                             
    org.apache.cxf.aegis.util.stax; version="2.1.4"[exported]                            
                             
    org.apache.cxf.service; version="2.1.4"[exported]                                    
                             
    org.apache.cxf.wsdl; version="2.1.4"[exported]                                       
                             
    org.apache.cxf.aegis.xml.jdom; version="2.1.4"[exported]                             
                             
    org.apache.cxf.databinding.stax; version="2.1.4"[exported]                           
                             
    org.apache.cxf.test; version="2.1.4"[exported]                                       
                             
    org.apache.cxf.binding.soap.model; version="2.1.4"[exported]                         
                             
    org.apache.cxf.jaxrs.ext.multipart; version="2.1.4"[exported]                        
                             
    org.apache.cxf.tools.common.toolspec.parser; version="2.1.4"[exported]               
                             
    org.apache.cxf.aegis.type.xml; version="2.1.4"[exported]                             
                             
    org.apache.cxf.aegis.xml; version="2.1.4"[exported]                                  
                             
    org.apache.cxf.databinding.source.mime; version="2.1.4"[exported]                    
                             
    org.apache.cxf.bus.resource; version="2.1.4"[exported]                               
                             
    org.apache.cxf.aegis.type; version="2.1.4"[exported]                                 
                             
    org.apache.cxf.jaxrs.impl.tl; version="2.1.4"[exported]                              
                             
    org.apache.cxf.io; version="2.1.4"[exported]                                         
                             
    org.apache.cxf.jaxrs.spring; version="2.1.4"[exported]                               
                             
    org.apache.cxf.transport.http_jetty.continuations; version="2.1.4"[exported]         
                             
    org.apache.cxf.ws.policy.builder.jaxb; version="2.1.4"[exported]                     
                             
    org.apache.cxf.ws.addressing.wsdl; version="2.1.4"[exported]                         
                             
    org.apache.cxf.transports.http.configuration; version="2.1.4"[exported]              
                             
    org.apache.cxf.continuations; version="2.1.4"[exported]                              
                             
  No imported packages
  No fragment bundles
  No named class spaces
  No required bundles



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message