Jetspeed 2
  1. Jetspeed 2
  2. JS2-973

Running Jetspeed 2.2 on Websphere 6.1 / Oracle10

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.0
    • Component/s: None
    • Labels:
      None

      Description

      Testing current Jetspeed 2.2-SNAPSHOT on Websphere 6.1 I;'ve encountered some issues which I'm recording here for the record and/or as outstanding TODO tasks.

      • xml-apis jar: all the JAXP apis are now part of Java5+ and having this jar in WEB-INF/lib causes problems on Websphere
        TODO: remove/exclude this dependency in maven poms
      • stax-api-1.0.1.jar: this artifact (incorrectly) contains javax.xml.namespace.* classes (QName specifically) which breaks JAXB on Websphere
        TODO: upgrade to stax-api-1.0.2.jar which no longer contains the javax.xml.namespace package
      • DDLUtils generates SEQUENCE seq_SECURITY_DOMAIN_DOMAIN_ID and TRIGGER trg_SECURITY_DOMAIN_DOMAIN_ID for SECURITY_DOMAIN.UIX_DOMAIN_NAME for an Oracle database
        During creation of the schema in the database the trigger code fails to be created. However, both the sequence and the trigger are not needed anyway.
        TODO: figure out how to disable the sequence and trigger generation from DDLUtils

        Issue Links

          Activity

          Hide
          Ate Douma added a comment -

          stax-api-1.0.1.jar dependency problem is fixed and committed (incidentally, should have done as a separate step and issue but I overlooked) by PLUTO-553.
          The latest Pluto trunk no longer pulls in this incorrect dependency but the stax-api-1.0-2.jar instead.

          Show
          Ate Douma added a comment - stax-api-1.0.1.jar dependency problem is fixed and committed (incidentally, should have done as a separate step and issue but I overlooked) by PLUTO-553 . The latest Pluto trunk no longer pulls in this incorrect dependency but the stax-api-1.0-2.jar instead.
          Hide
          Ate Douma added a comment -

          With the jetspeed//j2-admin migration to slf4j commit (see JS2-972, r767444) I've also excluded the xml-apis dependencies.

          In addition, I've added the following section to the web.xml for both j2-admin and jetspeed:

          <!-- for deploying on Websphere: disable Websphere default portletcontainer -->
          <context-param>
          <param-name>com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name>
          <param-value>false</param-value>
          </context-param>

          Without this, the default Websphere 6.1 potletcontainer will try to "manage" a portletcontainer by itself which for our purposes of course is unwanted, and would result in errors being logged to the Websphere Systemout.log
          although those can be ignored.

          Remaining task therefore (so far) is fixing the unwanted generation of the SEQUENCE and TRIGGER for the SECURITY_DOMAIN table by DDLUtils.

          Show
          Ate Douma added a comment - With the jetspeed//j2-admin migration to slf4j commit (see JS2-972 , r767444) I've also excluded the xml-apis dependencies. In addition, I've added the following section to the web.xml for both j2-admin and jetspeed: <!-- for deploying on Websphere: disable Websphere default portletcontainer --> <context-param> <param-name>com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name> <param-value>false</param-value> </context-param> Without this, the default Websphere 6.1 potletcontainer will try to "manage" a portletcontainer by itself which for our purposes of course is unwanted, and would result in errors being logged to the Websphere Systemout.log although those can be ignored. Remaining task therefore (so far) is fixing the unwanted generation of the SEQUENCE and TRIGGER for the SECURITY_DOMAIN table by DDLUtils.
          Hide
          Randy Watler added a comment -

          Have fixed the sequence/trigger issue: inadvertently caused by autoincrement DDL declaration not required since OBJ increments primary keys.

          svn commit: 770305

          Show
          Randy Watler added a comment - Have fixed the sequence/trigger issue: inadvertently caused by autoincrement DDL declaration not required since OBJ increments primary keys. svn commit: 770305
          Hide
          Randy Watler added a comment -

          Websphere 6.1 does not want to parse/deploy the web.xml in the J2 demo application 1.0-SNAPSHOT version. Have not debugged this yet as I am switching to the "min" configuration for testing.

          Show
          Randy Watler added a comment - Websphere 6.1 does not want to parse/deploy the web.xml in the J2 demo application 1.0-SNAPSHOT version. Have not debugged this yet as I am switching to the "min" configuration for testing.
          Hide
          Randy Watler added a comment -

          Login issue, JS2-984, has been resolved. This leaves the demo web application descriptor parsing issue to be resolved.

          Show
          Randy Watler added a comment - Login issue, JS2-984 , has been resolved. This leaves the demo web application descriptor parsing issue to be resolved.
          Hide
          Randy Watler added a comment -

          The demo web application descriptor, (web.xml), issue has been resolved with commit svn version 771506.

          However, we are now facing an internal WAS thread deadlock during deployment of J2 "full" demo-dbpsml configuration.

          1LKDEADLOCK Deadlock detected !!!
          NULL ---------------------
          NULL
          2LKDEADLOCKTHR Thread "server.startup : 1" (0x8FAEC100)
          3LKDEADLOCKWTR is waiting for:
          4LKDEADLOCKMON sys_mon_t:0x8F6A44F0 infl_mon_t: 0x8F6A4530:
          4LKDEADLOCKOBJ com/ibm/ws/classloader/CompoundClassLoader@99BD7C28/99BD7C34:
          3LKDEADLOCKOWN which is owned by:
          2LKDEADLOCKTHR Thread "Timer-6" (0x08BEF400)
          3LKDEADLOCKWTR which is waiting for:
          4LKDEADLOCKMON sys_mon_t:0x8F6A45A0 infl_mon_t: 0x8F6A45E0:
          4LKDEADLOCKOBJ com/ibm/ws/classloader/CompoundClassLoader@99BB9B78/99BB9B84:
          3LKDEADLOCKOWN which is owned by:
          2LKDEADLOCKTHR Thread "server.startup : 1" (0x8FAEC100)

          3XMTHREADINFO "Timer-6" (TID:0x08BEF400, sys_thread_t:0x090960B4, state:B, native ID:0x00001AA2) prio=5
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:375(Compiled Code))
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at java/lang/J9VMInternals.verifyImpl(Native Method)
          4XESTACKTRACE at java/lang/J9VMInternals.verify(J9VMInternals.java:68(Compiled Code))
          4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:129(Compiled Code))
          4XESTACKTRACE at com/sun/xml/bind/v2/model/nav/ReflectionNavigator.<clinit>(ReflectionNavigator.java:73)
          4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native Method)
          4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:194(Compiled Code))
          4XESTACKTRACE at com/sun/xml/bind/v2/model/nav/Navigator.<clinit>(Navigator.java:256)
          4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native Method)
          4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:194(Compiled Code))
          4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:89)
          4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)
          4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.<init>(JAXBContextImpl.java:297)
          4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:139)
          4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:117)
          4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:188)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code))
          4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code))
          4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code))
          4XESTACKTRACE at javax/xml/bind/ContextFinder.newInstance(ContextFinder.java:128)
          4XESTACKTRACE at javax/xml/bind/ContextFinder.find(ContextFinder.java:277)
          4XESTACKTRACE at javax/xml/bind/JAXBContext.newInstance(JAXBContext.java:372)
          4XESTACKTRACE at javax/xml/bind/JAXBContext.newInstance(JAXBContext.java:337)
          4XESTACKTRACE at org/apache/pluto/container/impl/PortletAppDescriptorServiceImpl.read(PortletAppDescriptorServiceImpl.java:148)
          4XESTACKTRACE at org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.read(JetspeedDescriptorServiceImpl.java:144)
          4XESTACKTRACE at org/apache/jetspeed/util/descriptor/PortletApplicationWar.createPortletApp(PortletApplicationWar.java:165)
          4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:352)
          4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.attemptStartPA(PortletApplicationManager.java:528)
          4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code))
          4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code))
          4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code))
          4XESTACKTRACE at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
          4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
          4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
          4XESTACKTRACE at org/springframework/transaction/interceptor/TransactionInterceptor.invoke(TransactionInterceptor.java:106)
          4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
          4XESTACKTRACE at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
          4XESTACKTRACE at $Proxy16.tryStartPortletApplication(Bytecode PC:57)
          4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.retryStartPortletApplication(PortletApplicationManager.java:214)
          4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.startPortletApplication(PortletApplicationManager.java:195)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
          4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code))
          4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code))
          4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code))
          4XESTACKTRACE at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
          4XESTACKTRACE at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
          4XESTACKTRACE at $Proxy16.startPortletApplication(Bytecode PC:31)
          4XESTACKTRACE at org/apache/jetspeed/container/JetspeedContainerServlet.attemptStart(JetspeedContainerServlet.java:191)
          4XESTACKTRACE at org/apache/jetspeed/container/JetspeedContainerServlet$1.run(JetspeedContainerServlet.java:162)
          4XESTACKTRACE at java/util/TimerThread.mainLoop(Timer.java:527)
          4XESTACKTRACE at java/util/TimerThread.run(Timer.java:477)

          3XMTHREADINFO "server.startup : 1" (TID:0x8FAEC100, sys_thread_t:0x903CA8F8, state:B, native ID:0x00001A76) prio=5
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at org/apache/jetspeed/security/impl/RdbmsPolicy.implies(RdbmsPolicy.java:102)
          4XESTACKTRACE at org/apache/jetspeed/security/impl/JaasPolicyCoordinator.implies(JaasPolicyCoordinator.java:79)
          4XESTACKTRACE at java/security/ProtectionDomain.implies(ProtectionDomain.java:221(Compiled Code))
          4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/SystemBundle.hasPermission(SystemBundle.java:265)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/PermissionChecker.checkPermission(PermissionChecker.java:53)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverConstraint.isSatisfiedBy(ResolverConstraint.java:45)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireImport(ResolverImpl.java:204)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:153)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireRequire(ResolverImpl.java:190)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:148)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireImport(ResolverImpl.java:225)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:153)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireRequire(ResolverImpl.java:190)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:148)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundles(ResolverImpl.java:137)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.initialize(ResolverImpl.java:101)
          4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.resolveDynamicImport(ResolverImpl.java:1083)
          4XESTACKTRACE at org/eclipse/osgi/internal/resolver/StateImpl.linkDynamicImport(StateImpl.java:605(Compiled Code))
          4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findDynamicSource(BundleLoader.java:874(Compiled Code))
          4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findClass(BundleLoader.java:391(Compiled Code))
          4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findClass(BundleLoader.java:347(Compiled Code))
          4XESTACKTRACE at org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader.loadClass(DefaultClassLoader.java:83(Compiled Code))
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:621(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/bootstrap/ExtClassLoader.loadClass(ExtClassLoader.java:87(Compiled Code))
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/classloader/ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/classloader/ProtectionClassLoader.loadClass(ProtectionClassLoader.java:54(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:394(Compiled Code))
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:394(Compiled Code))
          4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code))
          4XESTACKTRACE at java/util/ResourceBundle.loadBundle(ResourceBundle.java:1075)
          4XESTACKTRACE at java/util/ResourceBundle.findBundle(ResourceBundle.java:942(Compiled Code))
          4XESTACKTRACE at java/util/ResourceBundle.getBundleImpl(ResourceBundle.java:760(Compiled Code))
          4XESTACKTRACE at java/util/ResourceBundle.getBundle(ResourceBundle.java:716)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/common/impl/LanguageSetImpl.loadResourceBundle(LanguageSetImpl.java:135)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/common/impl/LanguageSetImpl.init(LanguageSetImpl.java:99)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletDefinitionTranslator.createLanguageSet(WCCMPortletDefinitionTranslator.java:110)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletDefinitionTranslator.translate(WCCMPortletDefinitionTranslator.java:72)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletApplicationDefinitionTranslator.translate(WCCMPortletApplicationDefinitionTranslator.java:63)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMWebApplicationDefinitionTranslator.translate(WCCMWebApplicationDefinitionTranslator.java:37)
          4XESTACKTRACE at com/ibm/ws/portletcontainer/runtime/PortletMetaDataListener.metaDataCreated(PortletMetaDataListener.java:74)
          4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.fireMetaDataCreated(MetaDataMgrImpl.java:188)
          4XESTACKTRACE at com/ibm/ws/webcontainer/metadata/WebMetaDataFactory.createMetaData(WebMetaDataFactory.java:205)
          4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.createMetaDataFromFactories(MetaDataMgrImpl.java:172)
          4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:306)
          4XESTACKTRACE at com/ibm/ws/runtime/component/DeployedModuleImpl.start(DeployedModuleImpl.java:563)
          4XESTACKTRACE at com/ibm/ws/runtime/component/DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)
          4XESTACKTRACE at com/ibm/ws/runtime/component/ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:950)
          4XESTACKTRACE at com/ibm/ws/runtime/component/ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2120)
          4XESTACKTRACE at com/ibm/wsspi/runtime/component/WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
          4XESTACKTRACE at com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1469)

          Show
          Randy Watler added a comment - The demo web application descriptor, (web.xml), issue has been resolved with commit svn version 771506. However, we are now facing an internal WAS thread deadlock during deployment of J2 "full" demo-dbpsml configuration. 1LKDEADLOCK Deadlock detected !!! NULL --------------------- NULL 2LKDEADLOCKTHR Thread "server.startup : 1" (0x8FAEC100) 3LKDEADLOCKWTR is waiting for: 4LKDEADLOCKMON sys_mon_t:0x8F6A44F0 infl_mon_t: 0x8F6A4530: 4LKDEADLOCKOBJ com/ibm/ws/classloader/CompoundClassLoader@99BD7C28/99BD7C34: 3LKDEADLOCKOWN which is owned by: 2LKDEADLOCKTHR Thread "Timer-6" (0x08BEF400) 3LKDEADLOCKWTR which is waiting for: 4LKDEADLOCKMON sys_mon_t:0x8F6A45A0 infl_mon_t: 0x8F6A45E0: 4LKDEADLOCKOBJ com/ibm/ws/classloader/CompoundClassLoader@99BB9B78/99BB9B84: 3LKDEADLOCKOWN which is owned by: 2LKDEADLOCKTHR Thread "server.startup : 1" (0x8FAEC100) 3XMTHREADINFO "Timer-6" (TID:0x08BEF400, sys_thread_t:0x090960B4, state:B, native ID:0x00001AA2) prio=5 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:375(Compiled Code)) 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at java/lang/J9VMInternals.verifyImpl(Native Method) 4XESTACKTRACE at java/lang/J9VMInternals.verify(J9VMInternals.java:68(Compiled Code)) 4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:129(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/nav/ReflectionNavigator.<clinit>(ReflectionNavigator.java:73) 4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native Method) 4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:194(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/nav/Navigator.<clinit>(Navigator.java:256) 4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native Method) 4XESTACKTRACE at java/lang/J9VMInternals.initialize(J9VMInternals.java:194(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:89) 4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432) 4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.<init>(JAXBContextImpl.java:297) 4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:139) 4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:117) 4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:188) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code)) 4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code)) 4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code)) 4XESTACKTRACE at javax/xml/bind/ContextFinder.newInstance(ContextFinder.java:128) 4XESTACKTRACE at javax/xml/bind/ContextFinder.find(ContextFinder.java:277) 4XESTACKTRACE at javax/xml/bind/JAXBContext.newInstance(JAXBContext.java:372) 4XESTACKTRACE at javax/xml/bind/JAXBContext.newInstance(JAXBContext.java:337) 4XESTACKTRACE at org/apache/pluto/container/impl/PortletAppDescriptorServiceImpl.read(PortletAppDescriptorServiceImpl.java:148) 4XESTACKTRACE at org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.read(JetspeedDescriptorServiceImpl.java:144) 4XESTACKTRACE at org/apache/jetspeed/util/descriptor/PortletApplicationWar.createPortletApp(PortletApplicationWar.java:165) 4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:352) 4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.attemptStartPA(PortletApplicationManager.java:528) 4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code)) 4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code)) 4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code)) 4XESTACKTRACE at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) 4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) 4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 4XESTACKTRACE at org/springframework/transaction/interceptor/TransactionInterceptor.invoke(TransactionInterceptor.java:106) 4XESTACKTRACE at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 4XESTACKTRACE at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 4XESTACKTRACE at $Proxy16.tryStartPortletApplication(Bytecode PC:57) 4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.retryStartPortletApplication(PortletApplicationManager.java:214) 4XESTACKTRACE at org/apache/jetspeed/tools/pamanager/PortletApplicationManager.startPortletApplication(PortletApplicationManager.java:195) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79(Compiled Code)) 4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code)) 4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618(Compiled Code)) 4XESTACKTRACE at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) 4XESTACKTRACE at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) 4XESTACKTRACE at $Proxy16.startPortletApplication(Bytecode PC:31) 4XESTACKTRACE at org/apache/jetspeed/container/JetspeedContainerServlet.attemptStart(JetspeedContainerServlet.java:191) 4XESTACKTRACE at org/apache/jetspeed/container/JetspeedContainerServlet$1.run(JetspeedContainerServlet.java:162) 4XESTACKTRACE at java/util/TimerThread.mainLoop(Timer.java:527) 4XESTACKTRACE at java/util/TimerThread.run(Timer.java:477) 3XMTHREADINFO "server.startup : 1" (TID:0x8FAEC100, sys_thread_t:0x903CA8F8, state:B, native ID:0x00001A76) prio=5 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at org/apache/jetspeed/security/impl/RdbmsPolicy.implies(RdbmsPolicy.java:102) 4XESTACKTRACE at org/apache/jetspeed/security/impl/JaasPolicyCoordinator.implies(JaasPolicyCoordinator.java:79) 4XESTACKTRACE at java/security/ProtectionDomain.implies(ProtectionDomain.java:221(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/SystemBundle.hasPermission(SystemBundle.java:265) 4XESTACKTRACE at org/eclipse/osgi/internal/module/PermissionChecker.checkPermission(PermissionChecker.java:53) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverConstraint.isSatisfiedBy(ResolverConstraint.java:45) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireImport(ResolverImpl.java:204) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:153) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireRequire(ResolverImpl.java:190) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:148) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireImport(ResolverImpl.java:225) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:153) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireRequire(ResolverImpl.java:190) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundle(ResolverImpl.java:148) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.rewireBundles(ResolverImpl.java:137) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.initialize(ResolverImpl.java:101) 4XESTACKTRACE at org/eclipse/osgi/internal/module/ResolverImpl.resolveDynamicImport(ResolverImpl.java:1083) 4XESTACKTRACE at org/eclipse/osgi/internal/resolver/StateImpl.linkDynamicImport(StateImpl.java:605(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findDynamicSource(BundleLoader.java:874(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findClass(BundleLoader.java:391(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/internal/core/BundleLoader.findClass(BundleLoader.java:347(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader.loadClass(DefaultClassLoader.java:83(Compiled Code)) 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:621(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/bootstrap/ExtClassLoader.loadClass(ExtClassLoader.java:87(Compiled Code)) 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/classloader/ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/classloader/ProtectionClassLoader.loadClass(ProtectionClassLoader.java:54(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:394(Compiled Code)) 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundClassLoader.java:394(Compiled Code)) 4XESTACKTRACE at java/lang/ClassLoader.loadClass(ClassLoader.java:595(Compiled Code)) 4XESTACKTRACE at java/util/ResourceBundle.loadBundle(ResourceBundle.java:1075) 4XESTACKTRACE at java/util/ResourceBundle.findBundle(ResourceBundle.java:942(Compiled Code)) 4XESTACKTRACE at java/util/ResourceBundle.getBundleImpl(ResourceBundle.java:760(Compiled Code)) 4XESTACKTRACE at java/util/ResourceBundle.getBundle(ResourceBundle.java:716) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/common/impl/LanguageSetImpl.loadResourceBundle(LanguageSetImpl.java:135) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/common/impl/LanguageSetImpl.init(LanguageSetImpl.java:99) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletDefinitionTranslator.createLanguageSet(WCCMPortletDefinitionTranslator.java:110) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletDefinitionTranslator.translate(WCCMPortletDefinitionTranslator.java:72) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMPortletApplicationDefinitionTranslator.translate(WCCMPortletApplicationDefinitionTranslator.java:63) 4XESTACKTRACE at com/ibm/ws/portletcontainer/om/translator/wccm/WCCMWebApplicationDefinitionTranslator.translate(WCCMWebApplicationDefinitionTranslator.java:37) 4XESTACKTRACE at com/ibm/ws/portletcontainer/runtime/PortletMetaDataListener.metaDataCreated(PortletMetaDataListener.java:74) 4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.fireMetaDataCreated(MetaDataMgrImpl.java:188) 4XESTACKTRACE at com/ibm/ws/webcontainer/metadata/WebMetaDataFactory.createMetaData(WebMetaDataFactory.java:205) 4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.createMetaDataFromFactories(MetaDataMgrImpl.java:172) 4XESTACKTRACE at com/ibm/ws/runtime/component/MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:306) 4XESTACKTRACE at com/ibm/ws/runtime/component/DeployedModuleImpl.start(DeployedModuleImpl.java:563) 4XESTACKTRACE at com/ibm/ws/runtime/component/DeployedApplicationImpl.start(DeployedApplicationImpl.java:817) 4XESTACKTRACE at com/ibm/ws/runtime/component/ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:950) 4XESTACKTRACE at com/ibm/ws/runtime/component/ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2120) 4XESTACKTRACE at com/ibm/wsspi/runtime/component/WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342) 4XESTACKTRACE at com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1469)
          Hide
          Ate Douma added a comment -

          Looking at the stacktrace, this seems to originate from the IBM portletcontainer.

          When deploying a portlet application to be run and picked up (only) by jetspeed portal, web.xml should have the following defined (already done for j2-admin):

          <context-param>
          <param-name>com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name>
          <param-value>false</param-value>
          </context-param>

          Not sure if that'll fix the above problem but it just might

          Show
          Ate Douma added a comment - Looking at the stacktrace, this seems to originate from the IBM portletcontainer. When deploying a portlet application to be run and picked up (only) by jetspeed portal, web.xml should have the following defined (already done for j2-admin): <context-param> <param-name>com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name> <param-value>false</param-value> </context-param> Not sure if that'll fix the above problem but it just might
          Hide
          Randy Watler added a comment -

          Indeed, use of the com.ibm.websphere.portletcontainer.PortletDeploymentEnabled context parameter fixes the deadlock.

          Two Items remain:

          1. WAS enterprise/ear build depended on container deployment and auto registration of webapps which was disabled a few hours ago, and
          2. Wicket based and/or J2-admin portlets are not functional with a variety of errors.

          Obviously, more work is required.

          Show
          Randy Watler added a comment - Indeed, use of the com.ibm.websphere.portletcontainer.PortletDeploymentEnabled context parameter fixes the deadlock. Two Items remain: 1. WAS enterprise/ear build depended on container deployment and auto registration of webapps which was disabled a few hours ago, and 2. Wicket based and/or J2-admin portlets are not functional with a variety of errors. Obviously, more work is required.
          Hide
          Ate Douma added a comment -

          I've added JetspeedDeploy integration in the enterprise/ear-full build to "infuse" the example APA portlet applications.
          That should solve item 1. above

          Show
          Ate Douma added a comment - I've added JetspeedDeploy integration in the enterprise/ear-full build to "infuse" the example APA portlet applications. That should solve item 1. above
          Hide
          Randy Watler added a comment -

          WAS enterprise/ear-full build has been validated.

          J2-admin portlet issues remain.

          Show
          Randy Watler added a comment - WAS enterprise/ear-full build has been validated. J2-admin portlet issues remain.
          Hide
          David Sean Taylor added a comment -

          Wicket issue is only outstanding

          Show
          David Sean Taylor added a comment - Wicket issue is only outstanding
          Hide
          Ate Douma added a comment -

          I found the cause of it: http://www-01.ibm.com/support/docview.wss?uid=swg24014758 (IBM - PK33090)
          Solving it requires defining (yet) another IBM webcontainer custom property in web.xml like this:

          <context-param>
          <param-name>com.ibm.ws.webcontainer.invokefilterscompatibility</param-name>
          <param-value>true</param-value>
          </context-param>

          Or, alternatively and easier, define it as webcontainer global custom property for all web applications (see above link for instructions doing that).
          Although the latter is less intrusive (for the developer/deployer), I'll use the first solution for j2-admin to make it more explicit and to ensure it just always works.

          With this, j2-admin WicketPortlet works fine also on Webpshere 6.1

          Show
          Ate Douma added a comment - I found the cause of it: http://www-01.ibm.com/support/docview.wss?uid=swg24014758 (IBM - PK33090) Solving it requires defining (yet) another IBM webcontainer custom property in web.xml like this: <context-param> <param-name>com.ibm.ws.webcontainer.invokefilterscompatibility</param-name> <param-value>true</param-value> </context-param> Or, alternatively and easier, define it as webcontainer global custom property for all web applications (see above link for instructions doing that). Although the latter is less intrusive (for the developer/deployer), I'll use the first solution for j2-admin to make it more explicit and to ensure it just always works. With this, j2-admin WicketPortlet works fine also on Webpshere 6.1
          Hide
          Ate Douma added a comment -

          WicketPortlet fix committed.

          Show
          Ate Douma added a comment - WicketPortlet fix committed.
          Hide
          Ate Douma added a comment -

          I found another issue on WAS 6.1 while running the (full) JSR-286 TCK.
          It turns out IBM JDK5 has a bug causing the following exception:

          java.lang.TypeNotPresentException: Type javax.xml.bind.annotation.XmlRootElement not present
          at com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:38)
          at com.ibm.oti.reflect.AnnotationHelper.getDeclaredAnnotations(AnnotationHelper.java:50)
          at java.lang.Class.getDeclaredAnnotations(Class.java:1620)
          at java.lang.Class.getAnnotations(Class.java:1581)
          at java.lang.Class.getAnnotation(Class.java:1561)
          at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getClassAnnotation(RuntimeInlineAnnotationReader.java:102)
          at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getClassAnnotation(RuntimeInlineAnnotationReader.java:53)
          at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:325)
          at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:442)
          at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:297)
          at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
          at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:615)
          at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)
          at javax.xml.bind.ContextFinder.find(ContextFinder.java:372)
          at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
          at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
          at org.apache.jetspeed.events.EventCoordinationServiceImpl.serialize(EventCoordinationServiceImpl.java:282)
          ...

          I found several references to this problem, for example: https://issues.apache.org/jira/browse/TUSCANY-2519

          This bug seems to be solved with IBM JDK6, but for Websphere 6.1 we have to deal with it.
          The only (but working) solution I could find was moving the jaxb-api-2.1.jar from jetspeed/WEB-INF/lib to the shared libraries.
          But I don't think we should solve it by doing that as general solution, e.g. move that jar to shared for every installation.
          Our general rule is to keep dependencies in shared to the utmost minimum, to guard against possibly version clashes when for a custom portal a newer (or older) version would be required there.
          And, this is really only a IBM JDK5 bug.
          However, we can provide documentation/instructions how to customise a WAR based installation and deployment on Websphere 6.1
          And, for EAR based deployments, we can support this by adjusting our enterprise ear build to extract the jaxb-api-2.1.jar from the jetspeed.war and move it to the shared jars within the ear itself.
          That won't affect other installations, so will not violate our general rule above.
          I'll will start working on adding this to the enterprise-ear project.

          Show
          Ate Douma added a comment - I found another issue on WAS 6.1 while running the (full) JSR-286 TCK. It turns out IBM JDK5 has a bug causing the following exception: java.lang.TypeNotPresentException: Type javax.xml.bind.annotation.XmlRootElement not present at com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:38) at com.ibm.oti.reflect.AnnotationHelper.getDeclaredAnnotations(AnnotationHelper.java:50) at java.lang.Class.getDeclaredAnnotations(Class.java:1620) at java.lang.Class.getAnnotations(Class.java:1581) at java.lang.Class.getAnnotation(Class.java:1561) at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getClassAnnotation(RuntimeInlineAnnotationReader.java:102) at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getClassAnnotation(RuntimeInlineAnnotationReader.java:53) at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:325) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:442) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:297) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211) at javax.xml.bind.ContextFinder.find(ContextFinder.java:372) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522) at org.apache.jetspeed.events.EventCoordinationServiceImpl.serialize(EventCoordinationServiceImpl.java:282) ... I found several references to this problem, for example: https://issues.apache.org/jira/browse/TUSCANY-2519 This bug seems to be solved with IBM JDK6, but for Websphere 6.1 we have to deal with it. The only (but working) solution I could find was moving the jaxb-api-2.1.jar from jetspeed/WEB-INF/lib to the shared libraries. But I don't think we should solve it by doing that as general solution, e.g. move that jar to shared for every installation. Our general rule is to keep dependencies in shared to the utmost minimum, to guard against possibly version clashes when for a custom portal a newer (or older) version would be required there. And, this is really only a IBM JDK5 bug. However, we can provide documentation/instructions how to customise a WAR based installation and deployment on Websphere 6.1 And, for EAR based deployments, we can support this by adjusting our enterprise ear build to extract the jaxb-api-2.1.jar from the jetspeed.war and move it to the shared jars within the ear itself. That won't affect other installations, so will not violate our general rule above. I'll will start working on adding this to the enterprise-ear project.
          Hide
          Ate Douma added a comment -

          In contrary to my previous comments 3 and 2 items up, the com.ibm.ws.webcontainer.invokefilterscompatibility fix for running WicketPortlet on Websphere can not be applied/defined in web.xml!
          I made that incorrect assumption because I also (as also advised in IBM - PK33090) defined this as global webcontainer custom property besides defining it in the j2-admin web.xml.

          So, the only and required solution is the following:

          The com.ibm.ws.webcontainer.invokefilterscompatibility should be set to true
          through Application Servers -> <server> -> Web Container Settings -> Web Container -> Custom Properties

          Note: after doing this, Websphere needs to be restarted before this setting will take effect.

          I'm going to remove again the incorrect definition from the j2-admin web.xml as it doesn't have any effect by itself.

          Show
          Ate Douma added a comment - In contrary to my previous comments 3 and 2 items up, the com.ibm.ws.webcontainer.invokefilterscompatibility fix for running WicketPortlet on Websphere can not be applied/defined in web.xml! I made that incorrect assumption because I also (as also advised in IBM - PK33090) defined this as global webcontainer custom property besides defining it in the j2-admin web.xml. So, the only and required solution is the following: The com.ibm.ws.webcontainer.invokefilterscompatibility should be set to true through Application Servers -> <server> -> Web Container Settings -> Web Container -> Custom Properties Note: after doing this, Websphere needs to be restarted before this setting will take effect. I'm going to remove again the incorrect definition from the j2-admin web.xml as it doesn't have any effect by itself.
          Hide
          Ate Douma added a comment -

          I've committed an enhancement to our enterprise ear builds (both min and full) to extract and remove the jaxb-api jar from the jetspeed war and provide it as one of the shared libraries in the ear file as workaround for the IBM JDK5 "bug" described above. After that, PortletEvent processing functionality using jaxb works again as expected.

          From all JSR-286 TCk tests, now only 3 failed tests remain. These 3 failed tests all deal with checking Servlet/Portlet session invalidation and something seems to behave differently there on Websphere (on Tomcat, all TCK tests pass OK).
          I'll start looking into these remaining issues.

          Show
          Ate Douma added a comment - I've committed an enhancement to our enterprise ear builds (both min and full) to extract and remove the jaxb-api jar from the jetspeed war and provide it as one of the shared libraries in the ear file as workaround for the IBM JDK5 "bug" described above. After that, PortletEvent processing functionality using jaxb works again as expected. From all JSR-286 TCk tests, now only 3 failed tests remain. These 3 failed tests all deal with checking Servlet/Portlet session invalidation and something seems to behave differently there on Websphere (on Tomcat, all TCK tests pass OK). I'll start looking into these remaining issues.
          Hide
          Ate Douma added a comment -

          I've pinned down and solved one of the three session related JSR-286 TCK test failures.

          First of all, when running on Websphere, the custom PortalRequestFactoryImpl as defined in WEB-INF/assembly/wps.xml needs to be enabled.
          This factory wraps the real Websphere request to keep its own reference of the portal contextPath, servletPath and session.
          This is needed as this request scoped "data" is maintained dynamically by Websphere and thus can change depending on the webapp context you're currently in.
          As the portal request data needs to be accessible (within Jetspeed Portal that is), even across multiple web applications, this wrapper is required.

          The bug I just found is that the wrapped request (PortalRequest) also implements the ContainerRequiredRequestResponseWrapper (which I did myself).
          This marker interface is intended to be used to prevent unwrapping before a cross context portlet dispatch is invoked.
          In this case however, this unwrapping actually is required as without that, the dispatched portlet webapp will incorrectly be viewing the (cached) portal request session etc. data.

          Removing the ContainerRequiredRequestResponseWrapper interface solved one of the three session related TCK test failures. I'll commit this change shortly.

          Show
          Ate Douma added a comment - I've pinned down and solved one of the three session related JSR-286 TCK test failures. First of all, when running on Websphere, the custom PortalRequestFactoryImpl as defined in WEB-INF/assembly/wps.xml needs to be enabled. This factory wraps the real Websphere request to keep its own reference of the portal contextPath, servletPath and session. This is needed as this request scoped "data" is maintained dynamically by Websphere and thus can change depending on the webapp context you're currently in. As the portal request data needs to be accessible (within Jetspeed Portal that is), even across multiple web applications, this wrapper is required. The bug I just found is that the wrapped request (PortalRequest) also implements the ContainerRequiredRequestResponseWrapper (which I did myself). This marker interface is intended to be used to prevent unwrapping before a cross context portlet dispatch is invoked. In this case however, this unwrapping actually is required as without that, the dispatched portlet webapp will incorrectly be viewing the (cached) portal request session etc. data. Removing the ContainerRequiredRequestResponseWrapper interface solved one of the three session related TCK test failures. I'll commit this change shortly.
          Hide
          Ate Douma added a comment -

          I just tried to run a fresh ear-full build on Websphere and encountered the problem our logging configuration has changed.
          Now, the environment variable "org.apache.portals.logdir" needs to be setup for Websphere which took me some time to figure out how and where to do.

          AFAIK, the way to do this is defining this variable through the admin console here:

          Application servers > server1 > Process Definition > Java Virtual Machine > Custom Properties

          I configured the org.apache.portals.logdir variable with as value: $

          {LOG_ROOT}

          /$

          {WAS_SERVER_NAME}

          which I think should work generically.

          Show
          Ate Douma added a comment - I just tried to run a fresh ear-full build on Websphere and encountered the problem our logging configuration has changed. Now, the environment variable "org.apache.portals.logdir" needs to be setup for Websphere which took me some time to figure out how and where to do. AFAIK, the way to do this is defining this variable through the admin console here: Application servers > server1 > Process Definition > Java Virtual Machine > Custom Properties I configured the org.apache.portals.logdir variable with as value: $ {LOG_ROOT} /$ {WAS_SERVER_NAME} which I think should work generically.
          Hide
          Ate Douma added a comment -

          Found the cause for the last 2 remaining JSR-286 TCK tests: see JS2-1011
          After locally fixing that, Jetspeed now fully passes the JSR-286 TCK on Websphere 6.1.0.9 too!

          Once I've committed the fix and closed JS2-1011, I think we're set and done for this issue then too.

          Show
          Ate Douma added a comment - Found the cause for the last 2 remaining JSR-286 TCK tests: see JS2-1011 After locally fixing that, Jetspeed now fully passes the JSR-286 TCK on Websphere 6.1.0.9 too! Once I've committed the fix and closed JS2-1011 , I think we're set and done for this issue then too.
          Hide
          Ate Douma added a comment -

          Just ran the JSR-286 TCK once more just to make sure, and YES, we're passing the TCK now also on Websphere.
          Kind of a nice milestone imo, good enough to close this issue as no issues remaining.

          Show
          Ate Douma added a comment - Just ran the JSR-286 TCK once more just to make sure, and YES, we're passing the TCK now also on Websphere. Kind of a nice milestone imo, good enough to close this issue as no issues remaining.

            People

            • Assignee:
              Ate Douma
              Reporter:
              Ate Douma
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development