Jetspeed 2
  1. Jetspeed 2
  2. JS2-1202

Cannot deploy local portlet applications by using the deployed local app directory (e.g. /WEB-INF/apps)

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.1
    • Fix Version/s: 2.2.2
    • Labels:
      None
    • Environment:
      Any

      Description

      When deploying jetspeed-layout local PA by extracting all onto /jetspeed/WEB-INF/apps/jetspeed-layout, it fails to register the local PA with the exception messages below. [Exception message].

      The bean, "deploymentManager" (typeof o.a.j.deployment.impl.StandardDeploymentManager) in deployment.xml, tries to register the scanned local PAs from either the deployed local app directory or the staging directory as soon as it is initialized as a bean.
      The registration process passes through o.a.j.tools.pamanager.PortletApplicationManager#grantDefaultPermissions(String), and it goes to o.a.j.security.util.ojb.JetspeedPrincipalConcreteClassRowReader#extractOjbConcreteClass(ClassDescriptor, ResultSet).
      The problem, however, is that the PortletApplicationManager doesn't have a chance to be called on the static method, #setJetspeedPrincipalManagerProvider(JetspeedPrincipalManagerProvider), which is supposed to be called during the bean initializations in "static-bean-references.xml".
      With the current assembly configurations, it's not guaranteed that the beans in static-bean-references.xml are initialized before!

      This kind of static initialization during the bean initialization could produce other problems potentially as well; so we need to find a way to avoid this kind of complexities (which seems to have been introduced after 2.2.0 security provider enhancements.)
      However, I think we can postpone refactoring for this now.

      Anyway, to resolve this problem, one simplest solution I have in mind is to make the "deploymentManager" bean in deployment.xml start only after the spring application context finished initialization on all the beans.
      Also, to isolate the ""deploymentManager" from the spring framework API, it is possible to make a utility bean to invoke "start" method by implementing org.springframework.context.ApplicationListener.

      -----------------------------------------------------------------------------

      [Exception message]
      7/14/10 11:59:06:531 PDT] 00000014 SystemOut O 14.07.2010 11:59:06 ERROR [org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication():237] Unable to start portlet application after 10 retries: org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
      org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
      at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:152)
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy15.tryStartPortletApplication(Unknown Source)
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication(PortletApplicationManager.java:214)
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startLocalPortletApplication(PortletApplicationManager.java:177)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      at $Proxy15.startLocalPortletApplication(Unknown Source)
      at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.initialize(DeployPortletAppEventListener.java:165)
      at org.apache.jetspeed.deployment.impl.StandardDeploymentManager.start(StandardDeploymentManager.java:122)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
      at java.security.AccessController.doPrivileged(AccessController.java:219)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134)
      at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:495)
      at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:162)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
      at java.security.AccessController.doPrivileged(AccessController.java:219)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
      at org.apache.jetspeed.components.SpringComponentManager.start(SpringComponentManager.java:308)
      at org.apache.jetspeed.engine.JetspeedEngine.start(JetspeedEngine.java:119)
      at org.apache.jetspeed.engine.JetspeedServlet.init(JetspeedServlet.java:208)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:226)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:320)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1305)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:153)
      at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:99)
      at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:887)
      at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:809)
      at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:527)
      at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:364)
      at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)
      at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)
      at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
      at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
      at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
      at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
      at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
      at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138)
      at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
      at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
      at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
      at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
      Caused by:
      org.apache.jetspeed.components.portletregistry.RegistryException: Failed to register portlet application, jetspeed-layouts
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:435)
      at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:121)
      ... 86 more
      Caused by:
      java.lang.NullPointerException
      at org.apache.jetspeed.security.util.ojb.JetspeedPrincipalConcreteClassRowReader.extractOjbConcreteClass(JetspeedPrincipalConcreteClassRowReader.java:74)
      at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:176)
      at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:450)
      at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:275)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1636)
      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
      at org.springframework.orm.ojb.PersistenceBrokerTemplate$2.doInPersistenceBroker(PersistenceBrokerTemplate.java:184)
      at org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:138)
      at org.springframework.orm.ojb.PersistenceBrokerTemplate.getObjectByQuery(PersistenceBrokerTemplate.java:182)
      at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:342)
      at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:332)
      at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy1.getPrincipal(Unknown Source)
      at org.apache.jetspeed.security.impl.BaseJetspeedPrincipalManager.getPrincipal(BaseJetspeedPrincipalManager.java:158)
      at org.apache.jetspeed.security.impl.RoleManagerImpl.getRole(RoleManagerImpl.java:147)
      at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy6.getRole(Unknown Source)
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.grantDefaultPermissions(PortletApplicationManager.java:755)
      at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:391)
      ... 87 more

        Activity

        Woonsan Ko created issue -
        Woonsan Ko made changes -
        Field Original Value New Value
        Summary Cannot deploy local portlet applications by using the local app staging directory (e.g. /WEB-INF/apps) Cannot deploy local portlet applications by using the deployed local app directory (e.g. /WEB-INF/apps)
        Description When deploying jetspeed-layout local PA by extracting all onto /jetspeed/WEB-INF/apps/jetspeed-layout, it fails to register the local PA with the exception messages below. [Exception message].

        The bean, "deploymentManager" (typeof o.a.j.deployment.impl.StandardDeploymentManager) in deployment.xml, tries to register the scanned local PAs from the staging directory as soon as it is initialized as a bean.
        The registration process passes through o.a.j.tools.pamanager.PortletApplicationManager#grantDefaultPermissions(String), and it goes to o.a.j.security.util.ojb.JetspeedPrincipalConcreteClassRowReader#extractOjbConcreteClass(ClassDescriptor, ResultSet).
        The problem, however, is that the PortletApplicationManager doesn't have a chance to be called on the static method, #setJetspeedPrincipalManagerProvider(JetspeedPrincipalManagerProvider), which is supposed to be called during the *bean initializations* in "static-bean-references.xml".
        With the current assembly configurations, it's not guaranteed that the beans in static-bean-references.xml are initialized before!

        This kind of static initialization during the bean initialization could produce other problems potentially as well; so we need to find a way to avoid this kind of complexities (which seems to have been introduced after 2.2.0 security provider enhancements.)
        However, I think we can postpone refactoring for this now.

        Anyway, to resolve this problem, one simplest solution I have in mind is to make the "deploymentManager" bean in deployment.xml start only after the spring application context finished initialization on all the beans.
        Also, to isolate the ""deploymentManager" from the spring framework API, it is possible to make a utility bean to invoke "start" method by implementing org.springframework.context.ApplicationListener.

        -----------------------------------------------------------------------------

        [Exception message]
        7/14/10 11:59:06:531 PDT] 00000014 SystemOut O 14.07.2010 11:59:06 ERROR [org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication():237] Unable to start portlet application after 10 retries: org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
        org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
        at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:152)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy15.tryStartPortletApplication(Unknown Source)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication(PortletApplicationManager.java:214)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startLocalPortletApplication(PortletApplicationManager.java:177)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
        at $Proxy15.startLocalPortletApplication(Unknown Source)
        at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.initialize(DeployPortletAppEventListener.java:165)
        at org.apache.jetspeed.deployment.impl.StandardDeploymentManager.start(StandardDeploymentManager.java:122)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(AccessController.java:219)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134)
        at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:495)
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:162)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(AccessController.java:219)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
        at org.apache.jetspeed.components.SpringComponentManager.start(SpringComponentManager.java:308)
        at org.apache.jetspeed.engine.JetspeedEngine.start(JetspeedEngine.java:119)
        at org.apache.jetspeed.engine.JetspeedServlet.init(JetspeedServlet.java:208)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:226)
        at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:320)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1305)
        at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:153)
        at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:99)
        at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:887)
        at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:809)
        at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:527)
        at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:364)
        at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)
        at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)
        at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
        at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
        at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138)
        at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
        at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
        Caused by:
        org.apache.jetspeed.components.portletregistry.RegistryException: Failed to register portlet application, jetspeed-layouts
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:435)
        at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:121)
        ... 86 more
        Caused by:
        java.lang.NullPointerException
        at org.apache.jetspeed.security.util.ojb.JetspeedPrincipalConcreteClassRowReader.extractOjbConcreteClass(JetspeedPrincipalConcreteClassRowReader.java:74)
        at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:176)
        at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:450)
        at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:275)
        at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1636)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate$2.doInPersistenceBroker(PersistenceBrokerTemplate.java:184)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:138)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate.getObjectByQuery(PersistenceBrokerTemplate.java:182)
        at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:342)
        at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:332)
        at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy1.getPrincipal(Unknown Source)
        at org.apache.jetspeed.security.impl.BaseJetspeedPrincipalManager.getPrincipal(BaseJetspeedPrincipalManager.java:158)
        at org.apache.jetspeed.security.impl.RoleManagerImpl.getRole(RoleManagerImpl.java:147)
        at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy6.getRole(Unknown Source)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.grantDefaultPermissions(PortletApplicationManager.java:755)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:391)
        ... 87 more
        When deploying jetspeed-layout local PA by extracting all onto /jetspeed/WEB-INF/apps/jetspeed-layout, it fails to register the local PA with the exception messages below. [Exception message].

        The bean, "deploymentManager" (typeof o.a.j.deployment.impl.StandardDeploymentManager) in deployment.xml, tries to register the scanned local PAs from either the deployed local app directory or the staging directory as soon as it is initialized as a bean.
        The registration process passes through o.a.j.tools.pamanager.PortletApplicationManager#grantDefaultPermissions(String), and it goes to o.a.j.security.util.ojb.JetspeedPrincipalConcreteClassRowReader#extractOjbConcreteClass(ClassDescriptor, ResultSet).
        The problem, however, is that the PortletApplicationManager doesn't have a chance to be called on the static method, #setJetspeedPrincipalManagerProvider(JetspeedPrincipalManagerProvider), which is supposed to be called during the *bean initializations* in "static-bean-references.xml".
        With the current assembly configurations, it's not guaranteed that the beans in static-bean-references.xml are initialized before!

        This kind of static initialization during the bean initialization could produce other problems potentially as well; so we need to find a way to avoid this kind of complexities (which seems to have been introduced after 2.2.0 security provider enhancements.)
        However, I think we can postpone refactoring for this now.

        Anyway, to resolve this problem, one simplest solution I have in mind is to make the "deploymentManager" bean in deployment.xml start only after the spring application context finished initialization on all the beans.
        Also, to isolate the ""deploymentManager" from the spring framework API, it is possible to make a utility bean to invoke "start" method by implementing org.springframework.context.ApplicationListener.

        -----------------------------------------------------------------------------

        [Exception message]
        7/14/10 11:59:06:531 PDT] 00000014 SystemOut O 14.07.2010 11:59:06 ERROR [org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication():237] Unable to start portlet application after 10 retries: org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
        org.apache.jetspeed.components.portletregistry.RegistryException: Error starting portlet application jetspeed-layouts
        at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:152)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy15.tryStartPortletApplication(Unknown Source)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.retryStartPortletApplication(PortletApplicationManager.java:214)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startLocalPortletApplication(PortletApplicationManager.java:177)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
        at $Proxy15.startLocalPortletApplication(Unknown Source)
        at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.initialize(DeployPortletAppEventListener.java:165)
        at org.apache.jetspeed.deployment.impl.StandardDeploymentManager.start(StandardDeploymentManager.java:122)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(AccessController.java:219)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134)
        at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:495)
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:162)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(AccessController.java:219)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
        at org.apache.jetspeed.components.SpringComponentManager.start(SpringComponentManager.java:308)
        at org.apache.jetspeed.engine.JetspeedEngine.start(JetspeedEngine.java:119)
        at org.apache.jetspeed.engine.JetspeedServlet.init(JetspeedServlet.java:208)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:226)
        at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:320)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1305)
        at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:153)
        at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:99)
        at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:887)
        at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:809)
        at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:527)
        at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:364)
        at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)
        at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)
        at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
        at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
        at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138)
        at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
        at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
        Caused by:
        org.apache.jetspeed.components.portletregistry.RegistryException: Failed to register portlet application, jetspeed-layouts
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:435)
        at org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager.attemptStartPA(VersionedPortletApplicationManager.java:121)
        ... 86 more
        Caused by:
        java.lang.NullPointerException
        at org.apache.jetspeed.security.util.ojb.JetspeedPrincipalConcreteClassRowReader.extractOjbConcreteClass(JetspeedPrincipalConcreteClassRowReader.java:74)
        at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(RowReaderDefaultImpl.java:176)
        at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:450)
        at org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:275)
        at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1636)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
        at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate$2.doInPersistenceBroker(PersistenceBrokerTemplate.java:184)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:138)
        at org.springframework.orm.ojb.PersistenceBrokerTemplate.getObjectByQuery(PersistenceBrokerTemplate.java:182)
        at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:342)
        at org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager.getPrincipal(JetspeedSecurityPersistenceManager.java:332)
        at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy1.getPrincipal(Unknown Source)
        at org.apache.jetspeed.security.impl.BaseJetspeedPrincipalManager.getPrincipal(BaseJetspeedPrincipalManager.java:158)
        at org.apache.jetspeed.security.impl.RoleManagerImpl.getRole(RoleManagerImpl.java:147)
        at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:618)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy6.getRole(Unknown Source)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.grantDefaultPermissions(PortletApplicationManager.java:755)
        at org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:391)
        ... 87 more
        Woonsan Ko made changes -
        Environment WebSphere 6.1 Any
        Woonsan Ko made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Woonsan Ko
            Reporter:
            Woonsan Ko
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development