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

Remove Woodstox-specific Stax implementation usage

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • 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
    • None
    • tapestry-core
    • 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

        1. TAP5-745-5.1.0.5.patch
          5 kB
          Christian Köberl

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: