Java 8 with Jetty on linux memory issue

后端 未结 1 2048
夕颜
夕颜 2020-12-30 17:55

Can you please help me resolving the following issue:

Context:

We are trying to migrate our existing application which is currently running on Java6

1条回答
  •  猫巷女王i
    2020-12-30 18:24

    It seems to be an issue in Java8/9 that manifests itself in Jetty due to the annotations module that scans the jars and has a memory leak. Ref. https://github.com/eclipse/jetty.project/issues/575. A solution for me (because I do not use Jetty annotations) is to disable the annotations module by commenting out the lines in jetty/modules/annotations.mod. So tie file looks like this:

    #
    # Jetty Annotation Scanning Module
    #
    
    [depend]
    # Annotations needs plus, and jndi features
    plus
    
    [lib]
    # Annotations needs jetty annotation jars
    lib/jetty-annotations-${jetty.version}.jar
    # Need annotation processing jars too
    #lib/annotations/*.jar
    
    [xml]
    # Enable annotation scanning webapp configurations
    #etc/jetty-annotations.xml
    

    Edit 1 - Alternative solution

    Switching off all annotation scanning can be too drastic, it turns of jsp as well because it is dependent. The alternative is to provide a web application context which restricts the scanning using a pattern. Save this in an xml and deploy it in the webapps together with the war or include it in the war.

    
       /[myApp]
       /[DIRECTORY]/[myApp[.war
       
          org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern
          SCAN-NO-JARS
        
    
    

    0 讨论(0)
提交回复
热议问题