Loading ...
Sorry, an error occurred while loading the content.

Re: [XSL-FO] Breaking from PDF Loop problem in FOP

Expand Messages
  • J.Pietschmann
    ... The only solution I see is to use a watchdog thread which terminates the FOP thread after a certain time or a separate process which restarts the whole
    Message 1 of 4 , Sep 21, 2005
    • 0 Attachment
      vijay_singh wrote:
      > I know people have experienced the FOPs looping problem when it is not
      > able to render the image or a table in a page. What I want to know is,
      > if anybody has found a way to come out of the loop.
      >
      > We are using FOP servlet to generate the pdf, and so we are using FOP
      > Driver to initiate the FOP engine. Now, the only issue here is, if we
      > ever got a infinite loop error for a particular XML data, it can put
      > the server to its knee. Has anybody got any idea, so that the FOP
      > engine can be taken out of the loop (without generating the report), so
      > that it doesn't become a bottle neck for the whole web application.

      The only solution I see is to use a watchdog thread which terminates
      the FOP thread after a certain time or a separate process which restarts
      the whole application server if it doesn't react to a ping.
      A more common approach is to avoid putting FOP into a loop the first
      place. This means, of course, fairly predictive input an often extensive
      testing.

      J.Pietschmann
    • vijay_singh
      ... is not ... know is, ... FOP ... if we ... put ... report), so ... application. ... restarts ... extensive ... Thanks for responding J. I agree with you on
      Message 2 of 4 , Sep 23, 2005
      • 0 Attachment
        --- In XSL-FO@yahoogroups.com, "J.Pietschmann" <j3322ptm@y...> wrote:
        > vijay_singh wrote:
        > > I know people have experienced the FOPs looping problem when it
        is not
        > > able to render the image or a table in a page. What I want to
        know is,
        > > if anybody has found a way to come out of the loop.
        > >
        > > We are using FOP servlet to generate the pdf, and so we are using
        FOP
        > > Driver to initiate the FOP engine. Now, the only issue here is,
        if we
        > > ever got a infinite loop error for a particular XML data, it can
        put
        > > the server to its knee. Has anybody got any idea, so that the FOP
        > > engine can be taken out of the loop (without generating the
        report), so
        > > that it doesn't become a bottle neck for the whole web
        application.
        >
        > The only solution I see is to use a watchdog thread which terminates
        > the FOP thread after a certain time or a separate process which
        restarts
        > the whole application server if it doesn't react to a ping.
        > A more common approach is to avoid putting FOP into a loop the first
        > place. This means, of course, fairly predictive input an often
        extensive
        > testing.
        >
        > J.Pietschmann

        Thanks for responding J. I agree with you on extensive testing. But
        if it ever happens, it has potential to put the whole system on its
        knees. I like your suggestion of having a watchdog thread.

        Has anybody put a fix for this, so that it is automatically taken
        care. Looking towards FOP development team :-)

        Regards
        Vijay
      • J.Pietschmann
        ... The latest stable release (0.20.5) automatically bails out if a block layout is restarted too often. This will catch many but not all problems. Things to
        Message 3 of 4 , Sep 23, 2005
        • 0 Attachment
          vijay_singh wrote:
          > Has anybody put a fix for this, so that it is automatically taken
          > care. Looking towards FOP development team :-)

          The latest stable release (0.20.5) automatically bails out
          if a block layout is restarted too often. This will catch
          many but not all problems.
          Things to look for while testing:
          - Table columns which are too small for even one character
          of the selected font.
          - Same for list item labels. These are more difficult because
          the BPD is usually specified indirectly using label-end().
          - Oversized images. However, because oversizing has to be done
          explicitly, this should be easy to catch.


          J.Pietschmann
        Your message has been successfully submitted and would be delivered to recipients shortly.