Fabric3

Contribution Redeployment is causing and argument type mismatch for EntityManager injection

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 1.5
  • Fix Version/s: 1.5
  • Component/s: Fabric
  • Labels:
    None
  • Number of attachments :
    0

Description

Undeployment and redeployment in a federated setup of of the BigBank contribution throws the following exception:

org.fabric3.samples.bigbank.loan.store.persistent.JPAStoreComponent.setEntityManager(javax.persistence.EntityManager)
at org.fabric3.implementation.pojo.component.InvokerInterceptor.invoke(InvokerInterceptor.java:151)
at org.fabric3.tx.TxInterceptor.invoke(TxInterceptor.java:95)
at org.fabric3.implementation.proxy.jdk.JDKInvocationHandler.invoke(JDKInvocationHandler.java:156)
at $Proxy135.findBySSN(Unknown Source)
at org.fabric3.samples.bigbank.loan.request.RequestCoordinatorImpl.onCreditScore(RequestCoordinatorImpl.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.fabric3.implementation.pojo.component.InvokerInterceptor.invoke(InvokerInterceptor.java:188)
at org.fabric3.implementation.pojo.component.InvokerInterceptor.invoke(InvokerInterceptor.java:156)
at org.fabric3.async.runtime.AsyncRequest.execute(AsyncRequest.java:87)
at org.fabric3.host.work.DefaultPausableWork.run(DefaultPausableWork.java:102)
at org.fabric3.threadpool.ThreadPoolWorkScheduler$DecoratingWork.run(ThreadPoolWorkScheduler.java:178)
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.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: org.fabric3.spi.component.InstanceLifecycleException: Exception thrown by setter: public void org.fabric3.samples.bigbank.loan.store.persistent.JPAStoreComponent.setEntityManager(javax.persistence.EntityManager)
at org.fabric3.fabric.component.scope.StatelessScopeContainer.getWrapper(StatelessScopeContainer.java:80)
at org.fabric3.implementation.pojo.component.InvokerInterceptor.invoke(InvokerInterceptor.java:146)
... 19 more
Caused by: org.fabric3.spi.ObjectCreationException: Exception thrown by setter: public void org.fabric3.samples.bigbank.loan.store.persistent.JPAStoreComponent.setEntityManager(javax.persistence.EntityManager)
at org.fabric3.implementation.pojo.reflection.MethodInjector.inject(MethodInjector.java:84)
at org.fabric3.implementation.pojo.reflection.ReflectiveInstanceFactory.newInstance(ReflectiveInstanceFactory.java:92)
at org.fabric3.implementation.pojo.component.PojoComponent.createInstanceWrapper(PojoComponent.java:134)
at org.fabric3.fabric.component.scope.StatelessScopeContainer.getWrapper(StatelessScopeContainer.java:76)
... 20 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.fabric3.implementation.pojo.reflection.MethodInjector.inject(MethodInjector.java:79)
... 23 more

This is likely caused by not properly cleaning up a classloader. To reproduce:

1. Deploy the loan contribution
2. Undeploy the loan contribution
3. Send a request to the loan service

Activity

Hide
Jim Marino added a comment -

fixed in r8837.

Show
Jim Marino added a comment - fixed in r8837.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: