[jboss-jira] [JBoss JIRA] (DROOLS-57) Split packages: OSGi packaging issue/conflict with Kie API & Kie Internal

Charles Moulliard (JIRA) jira-events at lists.jboss.org
Wed Feb 27 08:29:57 EST 2013


    [ https://issues.jboss.org/browse/DROOLS-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757167#comment-12757167 ] 

Charles Moulliard commented on DROOLS-57:
-----------------------------------------

The problem is more general as drools-core (or drools-compiler I think so) should use packages exported by kie-api & kie-internal-api but as the package is the same, that clash (see here for more info : http://wiki.osgi.org/wiki/Split_Packages).

Remark : I have also used split but problem is still there 

{code}
            <Bundle-SymbolicName>org.kie.internalapi</Bundle-SymbolicName>
            <!--<Require-Bundle>org.kie.api;visibility:=reexport;bundle-version="${drools.osgi.version}"</Require-Bundle>-->
            <Import-Package>
                !org.kie*,
                com.sun.tools.xjc;resolution:=optional,
                *
            </Import-Package>
            <Export-Package>
                org.kie.*;org.kie.internalapi=split;mandatory:=org.kie.internalapi
            </Export-Package>
{code}

{code}
            <Bundle-SymbolicName>org.kie.api</Bundle-SymbolicName>
            <Import-Package>
                !org.kie*,
                com.sun.tools.xjc;resolution:=optional,
                *
            </Import-Package>
            <Export-Package>
                org.kie.*;org.kie.api=split;mandatory:=org.kie.api
            </Export-Package>
{code}

{code}
                        <Bundle-SymbolicName>org.drools.core</Bundle-SymbolicName>
                        <!-- Should be removed after refactoring of org.kie api -->
                        <Require-Bundle>
                            org.kie.internalapi,
                            org.kie.api
                        </Require-Bundle>
                        <Import-Package>
                            !org.drools*,
                            com.sun.tools.xjc*;resolution:=optional,
                            org.drools.io.impl,
                            org.osgi.util.tracker,
                            *
                        </Import-Package>
                        <Export-Package>
                            org.drools.*
                        </Export-Package>
{code}

karaf at root> start 72
Error executing command: Error starting bundles:
	Unable to start bundle 72: Unresolved constraint in bundle org.drools.core [72]: Unable to resolve 72.5: missing requirement [72.5] osgi.wiring.package; (osgi.wiring.package=org.kie)
                
> Split packages: OSGi packaging issue/conflict with Kie API & Kie Internal
> -------------------------------------------------------------------------
>
>                 Key: DROOLS-57
>                 URL: https://issues.jboss.org/browse/DROOLS-57
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>            Reporter: Charles Moulliard
>            Assignee: Mark Proctor
>
> Due to overlap of packages between module kie-api & kie-internal, some classes of kie-internal are not found by kie-api
> example :
> Caused by: java.lang.ClassNotFoundException: org.kie.KieBaseConfiguration not found by org.kie.api [88] = KIE API
> The class org.kie.KieBaseConfiguration should be exported by the bundle kie-internal and imported by kie-api on OSGI platform and this is not the case as both bundles import/export same package org.kie
> {code}
> Bundle 88 = kie api & bundle 89 = kie internal
> karaf at root> packages:exports 88
>     ID Packages                                
>     88 org.kie.event.rule; version=6.0.0.SNAPSHOT
>     88 org.kie.command; version=6.0.0.SNAPSHOT 
>     88 org.kie.event.kiebase; version=6.0.0.SNAPSHOT
>     88 org.kie.definition; version=6.0.0.SNAPSHOT
>     88 org.kie.definition.process; version=6.0.0.SNAPSHOT
>     88 org.kie.runtime.rule; version=6.0.0.SNAPSHOT
>     88 org.kie.event.process; version=6.0.0.SNAPSHOT
>     88 org.kie.conf; version=6.0.0.SNAPSHOT    
>     88 org.kie.runtime.help; version=6.0.0.SNAPSHOT
>     88 org.kie.runtime.conf; version=6.0.0.SNAPSHOT
>     88 org.kie.management; version=6.0.0.SNAPSHOT
>     88 org.kie.definition.type; version=6.0.0.SNAPSHOT
>     88 org.kie.definition.rule; version=6.0.0.SNAPSHOT
>     88 org.kie.io; version=6.0.0.SNAPSHOT      
>     88 org.kie.marshalling; version=6.0.0.SNAPSHOT
>     88 org.kie.builder.model; version=6.0.0.SNAPSHOT
>     88 org.kie.time; version=6.0.0.SNAPSHOT    
>     88 org.kie; version=6.0.0.SNAPSHOT         
>     88 org.kie.runtime; version=6.0.0.SNAPSHOT 
>     88 org.kie.runtime.process; version=6.0.0.SNAPSHOT
>     88 org.kie.logger; version=6.0.0.SNAPSHOT  
>     88 org.kie.builder; version=6.0.0.SNAPSHOT 
>     88 org.kie.concurrent; version=6.0.0.SNAPSHOT
>     88 org.kie.cdi; version=6.0.0.SNAPSHOT     
>     88 org.kie.persistence.jpa; version=6.0.0.SNAPSHOT
>     88 org.kie.osgi.api; version=6.0.0.SNAPSHOT
>     88 org.kie.event; version=6.0.0.SNAPSHOT   
> karaf at root> packages:exports 89
>     ID Packages                                
>     89 org.kie.event.rule; version=6.0.0.SNAPSHOT
>     89 org.kie.command; version=6.0.0.SNAPSHOT 
>     89 org.kie.internal.utils; version=6.0.0.SNAPSHOT
>     89 org.kie.runtime.helper; version=6.0.0.SNAPSHOT
>     89 org.kie.builder.conf; version=6.0.0.SNAPSHOT
>     89 org.kie.fluent; version=6.0.0.SNAPSHOT  
>     89 org.kie.definition; version=6.0.0.SNAPSHOT
>     89 org.kie.conf; version=6.0.0.SNAPSHOT    
>     89 org.kie.builder.help; version=6.0.0.SNAPSHOT
>     89 org.kie.io; version=6.0.0.SNAPSHOT      
>     89 org.kie.event.io; version=6.0.0.SNAPSHOT
>     89 org.kie.marshalling; version=6.0.0.SNAPSHOT
>     89 org.kie.fluent.test; version=6.0.0.SNAPSHOT
>     89 org.kie.agent.conf; version=6.0.0.SNAPSHOT
>     89 org.kie; version=6.0.0.SNAPSHOT         
>     89 org.kie.runtime; version=6.0.0.SNAPSHOT 
>     89 org.kie.simulation; version=6.0.0.SNAPSHOT
>     89 org.kie.event.knowledgeagent; version=6.0.0.SNAPSHOT
>     89 org.kie.logger; version=6.0.0.SNAPSHOT  
>     89 org.kie.builder; version=6.0.0.SNAPSHOT 
>     89 org.kie.concurrent; version=6.0.0.SNAPSHOT
>     89 org.kie.persistence.jpa; version=6.0.0.SNAPSHOT
>     89 org.kie.agent; version=6.0.0.SNAPSHOT   
>     89 org.kie.event; version=6.0.0.SNAPSHOT   
>     89 org.kie.task.service; version=6.0.0.SNAPSHOT
> karaf at root> packages:imports 89
> System Bundle (0): javax.xml.bind; version=2.2.1
> OPS4J Pax Logging - API (4): org.slf4j; version=1.7.1
> OPS4J Pax Logging - API (4): org.slf4j; version=1.6.6
> OPS4J Pax Logging - API (4): org.slf4j; version=1.5.11
> OPS4J Pax Logging - API (4): org.slf4j; version=1.4.3
> Apache ServiceMix :: Bundles :: xstream (57): com.thoughtworks.xstream; version=1.4.3
> KIE API (88): org.kie.event.rule; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.command; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.event.kiebase; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.definition; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.definition.process; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.runtime.rule; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.event.process; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.conf; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.runtime.help; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.runtime.conf; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.management; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.definition.type; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.definition.rule; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.io; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.marshalling; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.builder.model; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.time; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.runtime; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.runtime.process; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.logger; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.builder; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.concurrent; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.cdi; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.persistence.jpa; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.osgi.api; version=6.0.0.SNAPSHOT
> KIE API (88): org.kie.event; version=6.0.0.SNAPSHOT
> camel-core (229): org.apache.camel.spi; version=2.10.3
> camel-core (229): org.apache.camel; version=2.10.3
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list