4 Replies Latest reply on Oct 7, 2008 1:03 AM by ropalka

    Open file descriptors to wsdl

    jorgemoralespou_2

      I'm using JBossAS 4.2.2 with jbossws-native-3.0.2.GA.

      I have deployed a service and it is leaving file descriptors open for the wsdl. I was using jbossws-native 2.0.3 and I didn have this problem, but I have recently upgraded to 3.0.2 and this problem arrised. I haven't changed this service, but some other services (so the upgrade).

      I'm running on a HP-UX 11.23, and when see open file descriptors, I see an increassing number for a .wsdl, like the following line:

      som@mymachine: lsof -usom | grep wsdl
      
      java 8640 som 965u REG 64,0x9 5638 29804 /core/server/som/data/wsdl/100persa-ws.ear/persa-ws-1.3.2.war/SpiPersa1478.wsdl
      java 8640 som 967u REG 64,0x9 5638 29804 /core/server/som/data/wsdl/100persa-ws.ear/persa-ws-1.3.2.war/SpiPersa1478.wsdl
      java 8640 som 970u REG 64,0x9 5638 29804 /core/server/som/data/wsdl/100persa-ws.ear/persa-ws-1.3.2.war/SpiPersa1478.wsdl
      


      Has anyone had a similar problem?

        • 1. Re: Open file descriptors to wsdl

          Tested on jbossws 3.0.3 and had the same problem. Each request results on a file descriptor open. For this reason application reaches maximum file descriptors allowed and fails every request.

          Any suggestion on where should we have a look in order to solve this problem will be very appreciated.

          Thanks a lot!

          • 2. Re: Open file descriptors to wsdl
            ropalka

            Hi guys,

            thank you for pointing that out.
            This will be fixed with 3.0.4 release, see: JBWS-2325.

            • 3. Re: Open file descriptors to wsdl

              Hi Richard,

              Thanks for your fix, but I've been debuging the code and noticed that our problem was in other place.

              On MessageContextJAXWS class, on its setOperationMetaData() method, an InputSource that references the wsdl file is stored inside the context. This input stream is never closed, so a file descriptor remains open on each request.

              I've tried closing it on the finally section of the invoke() method on ServiceEndpointInvoker class and it works successfully without leaving open file descriptors.

              I think you would like to know in order to fix this issue.

              Thank you very much!

              Bortx

              • 4. Re: Open file descriptors to wsdl
                ropalka

                Hi Bortx,

                thank you very much for this really useful input and your time to debug our code.
                I fixed the MessageContextJAXWS problem. Thanks for pointing this problem out!