You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Clement Escoffier (JIRA)" <ji...@apache.org> on 2008/10/09 10:38:44 UTC
[jira] Updated: (FELIX-552) ClassCastException when using services
as dynamic proxies
[ https://issues.apache.org/jira/browse/FELIX-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clement Escoffier updated FELIX-552:
------------------------------------
Affects Version/s: iPOJO-0.8.0
> ClassCastException when using services as dynamic proxies
> ---------------------------------------------------------
>
> Key: FELIX-552
> URL: https://issues.apache.org/jira/browse/FELIX-552
> Project: Felix
> Issue Type: Improvement
> Components: iPOJO
> Affects Versions: iPOJO-0.8.0
> Environment: Sun HotSpot JVM 1.6.0u4 + JOnAS 5.0.1
> Reporter: Kiev Gama
> Assignee: Clement Escoffier
> Priority: Minor
> Fix For: iPOJO-1.0.0
>
>
> In a changed OSGi implementation that uses dynamic proxies for services, iPOJO presents a typecast error.
> iPOJO's implementation seems to rely on a service instance of org.apache.felix.ipojo.HandlerFactory, but actually in this particular OSGi customization that service is dynamically replaced by a proxied service which implements org.apache.felix.ipojo.Factory.
> java.lang.ClassCastException: $Proxy4 cannot be cast to org.apache.felix.ipojo.HandlerFactory
> at org.apache.felix.ipojo.ComponentFactory$HandlerIdentifier.getFactory(ComponentFactory.java:964)
> at org.apache.felix.ipojo.HandlerFactory.getHandlerInstance(HandlerFactory.java:331)
> at org.apache.felix.ipojo.HandlerFactory.computeFactoryState(HandlerFactory.java:219)
> at org.apache.felix.ipojo.ComponentFactory.addedService(ComponentFactory.java:220)
> at org.apache.felix.ipojo.util.Tracker$Tracked.trackAdding(Tracker.java:667)
> at org.apache.felix.ipojo.util.Tracker$Tracked.trackInitialServices(Tracker.java:560)
> at org.apache.felix.ipojo.util.Tracker.open(Tracker.java:195)
> at org.apache.felix.ipojo.HandlerFactory.start(HandlerFactory.java:131)
> at org.apache.felix.ipojo.Extender.start(Extender.java:243)
> at org.apache.felix.ipojo.Extender.parse(Extender.java:147)
> at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:123)
> at org.apache.felix.ipojo.Extender.start(Extender.java:163)
> at org.apache.felix.framework.util.SecureAction$Actions.start_aroundBody0(SecureAction.java:853)
> at org.apache.felix.framework.util.SecureAction$Actions.start_aroundBody1$advice(SecureAction.java:168)
> at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
> at org.apache.felix.framework.Felix._startBundle(Felix.java:1568)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1502)
> at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:1097)
> at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:258)
> at java.lang.Thread.run(Thread.java:619)
> ERROR: Error starting file:/C:/Java/jonas-osgi-5.0.1/lib/bundles/org.apache.felix.ipojo-0.7.5-2008.01.28.jar (org.osgi.framework.BundleException: Activator start error.)
> java.lang.ClassCastException: $Proxy4 cannot be cast to org.apache.felix.ipojo.HandlerFactory
> at org.apache.felix.ipojo.ComponentFactory$HandlerIdentifier.getFactory(ComponentFactory.java:964)
> at org.apache.felix.ipojo.HandlerFactory.getHandlerInstance(HandlerFactory.java:331)
> at org.apache.felix.ipojo.HandlerFactory.computeFactoryState(HandlerFactory.java:219)
> at org.apache.felix.ipojo.ComponentFactory.addedService(ComponentFactory.java:220)
> at org.apache.felix.ipojo.util.Tracker$Tracked.trackAdding(Tracker.java:667)
> at org.apache.felix.ipojo.util.Tracker$Tracked.trackInitialServices(Tracker.java:560)
> at org.apache.felix.ipojo.util.Tracker.open(Tracker.java:195)
> at org.apache.felix.ipojo.HandlerFactory.start(HandlerFactory.java:131)
> at org.apache.felix.ipojo.Extender.start(Extender.java:243)
> at org.apache.felix.ipojo.Extender.parse(Extender.java:147)
> at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:123)
> at org.apache.felix.ipojo.Extender.start(Extender.java:163)
> at org.apache.felix.framework.util.SecureAction$Actions.start_aroundBody0(SecureAction.java:853)
> at org.apache.felix.framework.util.SecureAction$Actions.start_aroundBody1$advice(SecureAction.java:168)
> at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
> at org.apache.felix.framework.Felix._startBundle(Felix.java:1568)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1502)
> at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:1097)
> at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:258)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.