glassfish
  1. glassfish
  2. GLASSFISH-17039

3.1.1 deployment performance - webservices module get loaded for a web app with no webservices

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.1.2_b02
    • Component/s: web_services
    • Labels:
      None

      Description

      Using the felix console to monitor which module get loaded for the web application deployment, noticed the following webservices modules got active:

      47|Active | 1|org.glassfish.webservices.jsr109-impl (3.1.1.SNAPSHOT)

      and following got resolved:
      17|Resolved | 1|org.glassfish.security.webservices.security (3.1.1.SNAPSHOT)
      52|Resolved | 1|org.glassfish.metro.webservices-osgi (2.1.1.b07)

      we need to figure out which dependency had triggered the webservices related modules get loaded/resolved, they should not be for a web application with no webservices. The test web application is attached in its parent issue.

      1. glassfish-17039.patch
        11 kB
        ramapulavarthi
      2. started-47.log
        9 kB
        Hong Zhang

        Issue Links

          Activity

          Hide
          Hong Zhang added a comment -

          Futher analysis showed the jsr109-impl module was brought in as it contains classes implements AnnotationHandler interface and the SJSASFactory injects the list of the AnnotationHandler [].

          -----------------------------------
          Inhabitants / stack combination
          -----------------------------------
          Requested by LazyInhabitant-14679795(org.glassfish.webservices.annotation.handlers.WebServiceHandler, active: null) called from java.util.AbstractList$Itr.next:345 metadata

          {class: [org.glassfish.webservices.annotation.handlers.WebServiceHandler] index: [org.glassfish.apf.AnnotationHandler] }

          Requested by ConstructorCreator-23397116(com.sun.enterprise.deployment.annotation.factory.SJSASFactory) called from com.sun.enterprise.web.WebContainer.loadSystemDefaultWebModules:1424 metadata

          {class: [com.sun.enterprise.deployment.annotation.factory.SJSASFactory] index: [org.glassfish.api.ContractProvider] }

          Requested by SingletonInhabitant-10947277(com.sun.enterprise.deployment.annotation.factory.SJSASFactory) called from com.sun.enterprise.web.WebContainer.loadSystemDefaultWebModules:1424 metadata

          {class: [com.sun.enterprise.deployment.annotation.factory.SJSASFactory] index: [org.glassfish.api.ContractProvider] }
          Show
          Hong Zhang added a comment - Futher analysis showed the jsr109-impl module was brought in as it contains classes implements AnnotationHandler interface and the SJSASFactory injects the list of the AnnotationHandler []. ----------------------------------- Inhabitants / stack combination ----------------------------------- Requested by LazyInhabitant-14679795(org.glassfish.webservices.annotation.handlers.WebServiceHandler, active: null) called from java.util.AbstractList$Itr.next:345 metadata {class: [org.glassfish.webservices.annotation.handlers.WebServiceHandler] index: [org.glassfish.apf.AnnotationHandler] } Requested by ConstructorCreator-23397116(com.sun.enterprise.deployment.annotation.factory.SJSASFactory) called from com.sun.enterprise.web.WebContainer.loadSystemDefaultWebModules:1424 metadata {class: [com.sun.enterprise.deployment.annotation.factory.SJSASFactory] index: [org.glassfish.api.ContractProvider] } Requested by SingletonInhabitant-10947277(com.sun.enterprise.deployment.annotation.factory.SJSASFactory) called from com.sun.enterprise.web.WebContainer.loadSystemDefaultWebModules:1424 metadata {class: [com.sun.enterprise.deployment.annotation.factory.SJSASFactory] index: [org.glassfish.api.ContractProvider] }
          Hide
          Hong Zhang added a comment -

          Can we try to move the AnnotationHandler impl classes from this jsr109-impl module to another module to avoid loading this module?

          We cannot move them to the existing connector module as we don't want to introduce dol dependency on that module. Maybe we have to make a new module called jsr109-glue or something and put the handlers there (and of course make sure this new module does not have dependency on jsr109-impl). It's an additional module, but as jsr109-impl module is a good sized module, I think it will be worthwhile. Any other alternatives you guys can think of?

          Show
          Hong Zhang added a comment - Can we try to move the AnnotationHandler impl classes from this jsr109-impl module to another module to avoid loading this module? We cannot move them to the existing connector module as we don't want to introduce dol dependency on that module. Maybe we have to make a new module called jsr109-glue or something and put the handlers there (and of course make sure this new module does not have dependency on jsr109-impl). It's an additional module, but as jsr109-impl module is a good sized module, I think it will be worthwhile. Any other alternatives you guys can think of?
          Hide
          ramapulavarthi added a comment -

          Moving the web services annotation handlers to a new module jsr109-glue so that DOL does not activate jsr109-impl and its dependencies.

          Show
          ramapulavarthi added a comment - Moving the web services annotation handlers to a new module jsr109-glue so that DOL does not activate jsr109-impl and its dependencies.
          Hide
          scatari added a comment -

          Marking to be fixed in the patch release that follows 3.1.1. Does not affect primary functionality of the product, downgrading.

          Show
          scatari added a comment - Marking to be fixed in the patch release that follows 3.1.1. Does not affect primary functionality of the product, downgrading.
          Hide
          Bhakti Mehta added a comment -

          Committed fix in 3.1.2 rev 48931

          Show
          Bhakti Mehta added a comment - Committed fix in 3.1.2 rev 48931
          Hide
          Bhakti Mehta added a comment -

          Committed svn rev 49014 on trunk

          Show
          Bhakti Mehta added a comment - Committed svn rev 49014 on trunk
          Hide
          Lukas Jungmann added a comment -

          also resource bundles have to be moved as GF 3.1.2 (r50799) currently fails when trying to log a message with:

          SEVERE: The log message is empty or null. Please log an issue against the component in the logger field.
          SEVERE: Exception while deploying the app [WebApplication1]
          SEVERE: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb
          java.lang.IllegalStateException: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb
          ...
          Caused by: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb
          at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:367)
          ...
          Caused by: java.lang.NullPointerException
          at org.glassfish.webservices.connector.annotation.handlers.WebServiceHandler.processAnnotation(WebServiceHandler.java:141)
          at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344)
          ... 45 more

          I'm going to fix this

          Show
          Lukas Jungmann added a comment - also resource bundles have to be moved as GF 3.1.2 (r50799) currently fails when trying to log a message with: SEVERE: The log message is empty or null. Please log an issue against the component in the logger field. SEVERE: Exception while deploying the app [WebApplication1] SEVERE: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb java.lang.IllegalStateException: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb ... Caused by: nullat org.glassfish.apf.AnnotationInfo@2f9c3beb at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:367) ... Caused by: java.lang.NullPointerException at org.glassfish.webservices.connector.annotation.handlers.WebServiceHandler.processAnnotation(WebServiceHandler.java:141) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344) ... 45 more I'm going to fix this
          Hide
          Lukas Jungmann added a comment -

          3.1.2/revision 50861 and trunk/revision 50870

          Show
          Lukas Jungmann added a comment - 3.1.2/revision 50861 and trunk/revision 50870

            People

            • Assignee:
              Bhakti Mehta
              Reporter:
              Hong Zhang
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: