5 Replies Latest reply on Nov 22, 2013 12:11 PM by Alessio Soldano

    FNFE for missing WS files during bootup.

    Jeremy Whiting Expert

      Hi,

      I am using EAP 6.2 with an enterprise application deployed that has a WS deployed. A really simple web service coded with annotations.

      This is on a Fedora 19 OS and OpenJDK 1.7.

       

      This is one example exception stack trace. I used Byteman to dump the FNFE.

       

      *** exception message [JAR entry META-INF/policies/AsymmetricBinding_X509v1_TripleDesRsa15_EncryptBeforeSigning_ProtectTokens-DEFAULT.xml not found in /home/whitingjr/java/jboss/jboss-eap-6.2.0.CR3/modules/system/layers/base/org/jboss/ws/jaxws-client/main/jbossws-cxf-client-4.2.3.Final-redhat-1.jar] ***

      java.io.FileNotFoundException.<init>(FileNotFoundException.java:65)

      sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:140)

      sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)

      java.net.URL.openStream(URL.java:1037)

      org.jboss.wsf.stack.cxf.extensions.policy.PolicyAttachmentStore.parsePolicyAttachmentStore(PolicyAttachmentStore.java:127)

      org.jboss.wsf.stack.cxf.extensions.policy.PolicyAttachmentStore.parsePolicyAttachmentResources(PolicyAttachmentStore.java:105)

      org.jboss.wsf.stack.cxf.extensions.policy.PolicyAttachmentStore.<init>(PolicyAttachmentStore.java:65)

      org.jboss.wsf.stack.cxf.extensions.policy.PolicyAttachmentStore.getDefaultInstance(PolicyAttachmentStore.java:77)

      org.jboss.wsf.stack.cxf.extensions.policy.PolicySetsAnnotationListener.<init>(PolicySetsAnnotationListener.java:70)

      org.jboss.wsf.stack.cxf.configuration.BusHolder.configure(BusHolder.java:121)

      org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:91)

      org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:129)

      org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:67)

      org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:74)

      org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)

      org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)

      org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)

      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

      java.lang.Thread.run(Thread.java:744)

       

      Attached is a file with 120 other FNFE for xml confgiuration files.

      Also attached is the Byteman script used to capture this information.

       

      Should version 2.7.7 be throwing all these ?

       

      Regards,

      Jeremy

        • 1. Re: FNFE for missing WS files during bootup.
          Alessio Soldano Master

          AFAICS, the behavior here is the expected one (you captured the exceptions with Byteman, but they are caught and ignored). What happens is that the first time a WS deployment is processed, a policy attachment store is built up; to allow users adding any policy fragment, the ws code tries reading from URLs composed by multiple combinations of user provided policy names and allowed attachment points.

          Is this affecting your bench results (please note this should happen during app deployment and in any case once on the server)? I could possibly try figuring out a way for scanning first to prevent the exception from being generated (assuming that's the problem you have) or at least create the policy store only the first time an app actually containing @PolicySets annotated classes is processed (I assume yours is not one of them).

          • 2. Re: FNFE for missing WS files during bootup.
            Jeremy Whiting Expert

            Hi,

            The reason for mentioning these exceptions is the boot time of my server install. It used to be under 2 seconds but now with one application it is over 12 seconds on my laptop. These types of avoidable exceptions while on the one hand as you suggest can be ignored on the other all contribute to degraded server boot time.

             

            I could possibly try figuring out a way for scanning first to prevent the exception from being generated (assuming that's the problem you have) or at least create the policy store only the first time an app actually containing @PolicySets annotated classes is processed

             

            The first idea to check if the file is present might not be that simple. These are jar entries and not straight forward to check contents.

            The second idea which is to scan for @PolicySet annotations and only then enable functionality if present sounds more promising.

             

            Your assumption is correct. My application is not using the @PolicySet annotation.

            • 3. Re: FNFE for missing WS files during bootup.
              Alessio Soldano Master

              Hi,

              The reason for mentioning these exceptions is the boot time of my server install. It used to be under 2 seconds but now with one application it is over 12 seconds on my laptop. These types of avoidable exceptions while on the one hand as you suggest can be ignored on the other all contribute to degraded server boot time.

              mmh... you make me wonder how your app is composed, I'm not seeing such performance degradation at all on my laptop. Just to be sure the problem is not actually a different one building up on this FNFE issue.

               

              The first idea to check if the file is present might not be that simple. These are jar entries and not straight forward to check contents.

              I know, that's why I said "could possibly" ;-)

               

              The second idea which is to scan for @PolicySet annotations and only then enable functionality if present sounds more promising.

              Yep, will try with this, which is also not trivial to implement properly (the check should be within the AS code to leverage the annotation index, otherwise it's probably going to be slow if performed within the ws stack where the policy store is actually built)

               

              Thanks

              • 4. Re: FNFE for missing WS files during bootup.
                Jeremy Whiting Expert

                These exceptions a few amongst many during start up. They play a part in slowing things down but are not the whole reason.

                 

                Yep, will try with this, which is also not trivial to implement properly (the check should be within the AS code to leverage the annotation index, otherwise it's probably going to be slow if performed within the ws stack where the policy store is actually built)

                If you need help in any way just ask.

                 

                Jeremy

                • 5. Re: FNFE for missing WS files during bootup.
                  Alessio Soldano Master

                  These exceptions a few amongst many during start up. They play a part in slowing things down but are not the whole reason.

                  Ah, ok :-)

                  Just created https://issues.jboss.org/browse/JBWS-3737

                  1 of 1 people found this helpful