You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2010/07/11 12:16:51 UTC

[jira] Commented: (SMX4NMR-212) OSGi packaged SA deployment doesn't work anymore

    [ https://issues.apache.org/activemq/browse/SMX4NMR-212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60584#action_60584 ] 

Freeman Fang commented on SMX4NMR-212:
--------------------------------------

figured out this is caused by that we have two copys of org/apache/servicemix/jbi/deployer/DeployedAssembly, one in servicemix-common, one in jbi/deployer.

So even EndpointExporter register the osgi service with bundleContext.registerService(DeployedAssembly.class.getName(), this, new Properties());

but jbi/deployer ServiceTracker use its own copy of DeployedAssembly as service  filter(so DeployedAssembly service registered in EndpointExport can't trigger  deployedAssembliesTracker.addingService), which cause  OSGi packaged SA deployment doesn't work anymore.

Btw, this is not a problem at all with  felix framework 2.x, only with felix framework 3.0.1, seems some more strict check added for service  filter with latest felix framework(previously it only check if the plain string classname equal, don't care about if they actually come from different classloader).

Anyway, we should only keep one copy of org/apache/servicemix/jbi/deployer/DeployedAssembly. I prefer to keep the one in servicemix-common but change the package name as org.apche.servicemix.common.osgi, and introduce servicemix-common dependency into jbi/deployer.

Freeman

> OSGi packaged SA deployment doesn't work anymore
> ------------------------------------------------
>
>                 Key: SMX4NMR-212
>                 URL: https://issues.apache.org/activemq/browse/SMX4NMR-212
>             Project: ServiceMix NMR
>          Issue Type: Bug
>            Reporter: Freeman Fang
>            Assignee: Freeman Fang
>             Fix For: 1.6.0
>
>
> OSGi packaged SA  deployment doesn't work now, I found that the deployedAssembliesTracker in Deployer.init() somehow can't track the DeployedAssembly sevice registration, 
> public Object addingService(ServiceReference serviceReference) never get invoked when deploy a OSGi packaged SA/SU.

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