[ 
https://issues.apache.org/jira/browse/ARIES-412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lin Sun resolved ARIES-412.
---------------------------

    Resolution: Fixed

Patch committed with format change only.  thanks Hannah.

> 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
>            Assignee: Lin Sun
>         Attachments: quiesce-blueprint-fix.txt
>
>
> 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.

Reply via email to