axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ancoron Luciferis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-4853) Use Axiom osgi services
Date Sun, 28 Nov 2010 15:15:37 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12964562#action_12964562
] 

Ancoron Luciferis commented on AXIS2-4853:
------------------------------------------

Well, how do I enable Axis2 to use the declarative services instead? Is there some configuration
available for that?

The various axiom bundles itself deploy successfully and I can inspect the services exported
by them (e.g. at the felix console).

> Use Axiom osgi services
> -----------------------
>
>                 Key: AXIS2-4853
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4853
>             Project: Axis2
>          Issue Type: Bug
>    Affects Versions: 1.5.1
>            Reporter: Ancoron Luciferis
>
> When trying to use axis2-osgi with the upstream axiom version the following error appears:
> org.osgi.framework.BundleException: Activator start error in bundle org.apache.axis2.osgi
[285].
> 	at org.apache.felix.framework.Felix.activateBundle(Felix.java:1864)
> 	at org.apache.felix.framework.Felix.startBundle(Felix.java:1734)
> 	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
> 	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
> 	at com.profitbricks.osgi.test.FelixTest.deployBundle(FelixTest.java:61)
> 	at com.profitbricks.osgi.test.FelixTest.testModules(FelixTest.java:220)
> Caused by: org.apache.axiom.om.OMException: java.lang.ClassNotFoundException: org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory
> 	at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:139)
> 	at org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:152)
> 	at org.apache.axis2.description.AxisDescription.<init>(AxisDescription.java:70)
> 	at org.apache.axis2.engine.AxisConfiguration.<init>(AxisConfiguration.java:160)
> 	at org.apache.axis2.osgi.deployment.OSGiServerConfigurator.populateAxisConfiguration(OSGiServerConfigurator.java:76)
> 	at org.apache.axis2.osgi.deployment.OSGiServerConfigurator.getAxisConfiguration(OSGiServerConfigurator.java:61)
> 	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
> 	at org.apache.axis2.osgi.deployment.OSGiConfigurationContextFactory.startConfigurationContext(OSGiConfigurationContextFactory.java:93)
> 	at org.apache.axis2.osgi.deployment.OSGiConfigurationContextFactory.updated(OSGiConfigurationContextFactory.java:102)
> 	at org.apache.axis2.osgi.internal.Activator.start(Activator.java:45)
> 	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:633)
> 	at org.apache.felix.framework.Felix.activateBundle(Felix.java:1817)
> 	... 34 more
> Caused by: java.lang.ClassNotFoundException: org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory
> 	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
> 	at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
> 	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:169)
> 	at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:133)
> This is due to the fact that the axiom OSGi bundles are separated into e.g. axiom-api
and axiom-impl, where the class "org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory"
resides in "axiom-impl" and the "org.apache.axiom.om.OMAbstractFactory" is exported by "axiom-api".
> To overcome this the folks from axiom already provide a service for the OMMetaFactory:
> <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
>     <scr:component enabled="true" immediate="true" name="metafactory.llom.component">
>         <implementation class="org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory"/>
>         <service servicefactory="false">
>             <provide interface="org.apache.axiom.om.OMMetaFactory"/>
>         </service>
>         <property name="implementationName" type="String" value="llom"/>
>         <property name="service.pid" value="metafactory.llom.component"/>
>     </scr:component>
> </components>
> So the axis2 OSGi integration really should use that instead.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message