FinalModifierExceptions as a result of Quiesce changes to add proxies for
services
----------------------------------------------------------------------------------
Key: ARIES-412
URL: https://issues.apache.org/jira/browse/ARIES-412
Project: Aries
Issue Type: Bug
Affects Versions: 0.3
Reporter: Joe Bohn
I've noticed that we are now receiving FinalModifierExceptions when running the
samples (Blog and AriesTrader). It seems to me that these are the result of
some changes for quiesce support for JPA. I'm not quite sure of the reason or
purpose for the changes - but the function seems to be creating proxies for
services using the AsmInterceptorWrapper for items that we did not previously
create Asm proxies. Not all of these objects work well as proxies and hence
these exceptions. This can be easily seen running either the Blog or
AriesTrader samples after change rev. 995797 for ARIES-383 (
https://issues.apache.org/jira/browse/ARIES-383 )
org.apache.aries.blueprint.proxy.FinalModifierException
at
org.apache.aries.blueprint.proxy.ProxySubclassGenerator.scanForFinalModifiers(ProxySubclassGenerator.java:323)
at
org.apache.aries.blueprint.proxy.ProxySubclassGenerator.getProxySubclass(ProxySubclassGenerator.java:118)
at
org.apache.aries.blueprint.proxy.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:155)
at
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper.createSubclassProxy(AsmInterceptorWrapper.java:163)
at
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper.createProxyObject(AsmInterceptorWrapper.java:85)
at
org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:463)
at
org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:120)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:118)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:445)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:430)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:666)
at
org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.addingService(NamespaceHandlerRegistryImpl.java:90)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:388)
at
org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:174)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:646)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:314)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.