Description
Upon deploying aerogear-controller-demo the following error occurs:
17:12:09,684 INFO [org.picketbox.core] (MSC service thread 1-4) PBOXCORE000501: Starting PicketBox 17:12:09,688 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."aerogear-controller-demo.war".component.PicketBoxLoadUsers.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."aerogear-controller-demo.war".component.PicketBoxLoadUsers.START: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_35] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_35] at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_35] Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163) at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85) at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:113) at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:127) at org.jboss.as.ee.component.ComponentStartService.start(ComponentStartService.java:44) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] ... 3 more Caused by: javax.ejb.EJBException: java.lang.RuntimeException: java.lang.IllegalArgumentException: JBAS016069: Error injecting persistence unit into CDI managed bean. Can't find a persistence unit named picketlink-default in deployment aerogear-controller-demo.war at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230) at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:333) at org.jboss.as.ejb3.tx.SingletonLifecycleCMTTxInterceptor.processInvocation(SingletonLifecycleCMTTxInterceptor.java:56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161) ... 9 more Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: JBAS016069: Error injecting persistence unit into CDI managed bean. Can't find a persistence unit named picketlink-default in deployment aerogear-controller-demo.war at org.picketlink.extensions.core.pbox.idm.DefaultEntityManagerLookupStrategy.lookupEntityManager(DefaultEntityManagerLookupStrategy.java:54) at org.picketbox.core.identity.jpa.EntityManagerLookupStrategy.getEntityManager(EntityManagerLookupStrategy.java:45) at org.picketlink.extensions.core.pbox.idm.DefaultEntityManagerLookupStrategy$Proxy$_$$_WeldClientProxy.getEntityManager(DefaultEntityManagerLookupStrategy$Proxy$_$$_WeldClientProxy.java) at org.picketbox.core.identity.PicketBoxIdentityManager$1.getEntityManager(PicketBoxIdentityManager.java:102) at org.picketlink.idm.internal.DefaultIdentityStoreInvocationContextFactory.initContextForStore(DefaultIdentityStoreInvocationContextFactory.java:83) at org.picketlink.idm.internal.DefaultIdentityManager.getContextualStoreForFeature(DefaultIdentityManager.java:676) at org.picketlink.idm.internal.DefaultIdentityManager.getContextualStoreForFeature(DefaultIdentityManager.java:629) at org.picketlink.idm.internal.DefaultIdentityManager.add(DefaultIdentityManager.java:227) at org.picketbox.core.identity.PicketBoxIdentityManager.add(PicketBoxIdentityManager.java:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_35] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_35] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_35] at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_35] at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:44) at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) at org.jboss.weld.proxies.IdentityManager$Serializable$-2032068847$Proxy$_$$_WeldClientProxy.add(IdentityManager$Serializable$-2032068847$Proxy$_$$_WeldClientProxy.java) at org.jboss.aerogear.security.picketbox.config.PicketBoxLoadUsers.create(PicketBoxLoadUsers.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_35] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_35] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_35] at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_35] at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) ... 18 more Caused by: java.lang.IllegalArgumentException: JBAS016069: Error injecting persistence unit into CDI managed bean. Can't find a persistence unit named picketlink-default in deployment aerogear-controller-demo.war at org.jboss.as.weld.services.bootstrap.WeldJpaInjectionServices.getScopedPUName(WeldJpaInjectionServices.java:96) at org.jboss.as.weld.services.bootstrap.WeldJpaInjectionServices.resolvePersistenceContext(WeldJpaInjectionServices.java:61) at org.jboss.weld.util.Beans.injectEEFields(Beans.java:627) at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:160) at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48) at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:157) at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:131) at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:153) at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:290) at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:61) at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:616) at org.jboss.weld.bean.AbstractReceiverBean.getReceiver(AbstractReceiverBean.java:73) at org.jboss.weld.bean.ProducerMethod$1.produce(ProducerMethod.java:131) at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:299) at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:61) at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:616) at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:643) at org.jboss.weld.bean.builtin.InstanceImpl.get(InstanceImpl.java:102) at org.picketlink.extensions.core.pbox.idm.DefaultEntityManagerLookupStrategy.lookupEntityManager(DefaultEntityManagerLookupStrategy.java:52) ... 55 more
The unitName was updated to 'picketlink-default' in commit 4fbd1d9, but the demo is still using 'aerogear-security-picketbox' (see pom.xml).
I'm not sure if the pom.xml should be updated to use 'aerogear-security-picketlink', or if the unitName should be changed back. At the moment aerogear-security-picketlink' does not compile for me so I've not been able to try that solution out. Changing the unitName works which is fine and I'll wait and discuss this with Bruno when he returns.