[
https://issues.apache.org/jira/browse/ARIES-412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910578#action_12910578
]
Joe Bohn commented on ARIES-412:
--------------------------------
Thanks for the comments. You are correct - we are seeing this for several
objects that seem to fit your description:
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper - Method entry:
createProxyObject, args
[org.eclipse.osgi.internal.baseadaptor.defaultclassloa...@79ca209e,
ServiceMetadata[id='.component-1', activation=2, dependsOn=null,
exportedComponent=BeanMetadata[id='null', initialization=0, dependsOn=null,
className='org.apache.aries.transaction.parsing.TxElementHandler',
initMethodName='null', destroyMethodName='null', arguments=null,
properties=[BeanProperty[name='txMetaDataHelper',
value=RefMetadata[componentId='txenhancer']],
BeanProperty[name='transactionInterceptor',
value=RefMetadata[componentId='txinterceptor']]], factoryMethodName='null',
factoryComponent=null, scope='null', runtimeClass=null, fieldInjection=false],
interfaces=[org.apache.aries.blueprint.NamespaceHandler], autoExportMode=1,
serviceProperties=[MapEntry[key=ValueMetadata[stringValue='osgi.service.blueprint.namespace',
type='null'], value=CollectionMetadata[collectionClass=interface
java.util.List, valueType='null',
values=[ValueMetadata[stringValue='http://aries.apache.org/xmlns/transactions/v1.0.0',
type='null'],
ValueMetadata[stringValue='http://aries.apache.org/xmlns/transactions/v1.1.0',
type='null']]]]], ranking=0, registrationListeners=null],
[org.apache.aries.blueprint.container.quiesceintercep...@4ab83be0],
org.apache.aries.transaction.parsing.txelementhand...@2bf8f8c8, [class
org.apache.aries.transaction.parsing.TxElementHandler]]
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper - Single class to proxy:
org.apache.aries.transaction.parsing.TxElementHandler
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper - Method entry:
isProxyClass, args [class org.apache.aries.transaction.parsing.TxElementHandler]
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper - Caught exception
org.apache.aries.blueprint.proxy.FinalModifierException
... the NameSpace Handler for Declarative Transactions
AND
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.ProxySubclassGenerator - Method entry:
scanForFinalModifiers, args [class org.apache.derby.jdbc.EmbeddedXADataSource]
[Blueprint Extender: 2] DEBUG
org.apache.aries.blueprint.proxy.AsmInterceptorWrapper - Caught exception
org.apache.aries.blueprint.proxy.FinalModifierException
... a Datasource
I've also seen this when I attempt to register the Interceptor as a Service and
doing various other actions.
> 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.