Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-745

Remove Woodstox-specific Stax implementation usage

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Won't Fix
    • Affects Version/s: 5.1.0.0, 5.1.0.1, 5.1.0.2, 5.1.0.3, 5.1.0.4, 5.1.0.5, 5.1
    • Fix Version/s: None
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Tapestry uses some special extensions to StaX (out of Woodstox) in the template parser. This leads to the problem that Tapestry will usually not run on any application server because the appservers will use their own implementation of Stax.

      There is a workaround but a main stream web application framework should run on JEE compatible web and application servers without tweaking.

      The main problem is in org.apache.tapestry5.internal.services.TemplateParserImpl.<init>(TemplateParserImpl.java:44). Here, XMLInputFactory2 is asked for an instance - but XMLInputFactory2 does not implement the method newInstance. This is delegated to XMLInputFactory. So, the original XMLInputFactory is used - which returns the platform implementation of Stax.

      Workaround:
      Add the system property below to Application Server (either via startup script or admin console):
      -Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory

        Attachments

          Activity

            People

            • Assignee:
              ongakugainochi Robert Zeigler
              Reporter:
              koc Christian Köberl
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: