小编use*_*233的帖子

HtmlUnit关闭所有windows内存泄漏

HtmlUnit似乎不会关闭webclient中的窗口,从而造成内存泄漏.我正在尝试使用HtmlUnit获取一个页面并将其传递给JSoup进行解析.我知道JSoup可以连接到一个页面,但我需要使用这种方法,因为我需要在解析它们之前在某些站点上保持登录会话.

这是代码:

import java.io.IOException;
import java.net.MalformedURLException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class HtmlUnitLeakTest {

public static void main(String args[]) throws FailingHttpStatusCodeException, MalformedURLException, IOException{

        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        webClient.getOptions().setPrintContentOnFailingStatusCode(false);
        webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
        webClient.getOptions().setThrowExceptionOnScriptError(false);
        webClient.getOptions().setJavaScriptEnabled(true);
        webClient.getOptions().setCssEnabled(false);

        for(int i = 0; i < 500; i++){
            HtmlPage page = webClient.getPage("http://www.stackoverflow.com");
            Document doc = Jsoup.parse(page.asXml());
            webClient.closeAllWindows();
            System.out.println(i);
            if((i % 5 == 0)){
                System.out.println(i);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

随着这个运行,内存不断攀升,在我的调试屏幕中,我可以看到所有窗口仍然在webclient下被引用而未关闭.

我已经看到这个代码是假设关闭这些窗口:

List<WebWindow> windows = webclient.getWebWindows();
for (WebWindow ww : windows) …
Run Code Online (Sandbox Code Playgroud)

java memory-leaks htmlunit

7
推荐指数
1
解决办法
2853
查看次数

Play Framework 2.3.7:静态资产位置不在生产中

我已经看到了一些关于此的问题,但似乎无法深究它.

我有一个Play Framework 2.3.7(Activator 1.2.12)站点,当我在开发模式下运行它时一切正常.当我在生产模式下启动时,我收到以下错误:

 [app] $ start
 [info] Wrote C:\Users\App\git\website2.0\target\scala-2.10\app_2.10-1.0-
 SNAPSHOT.pom
 [info] Main Scala API documentation to C:\Users\App\git\website2.0\target\scala-
 2.10\api...
 [info] Compiling 57 Scala sources and 58 Java sources to C:\Users\App\git\websit
 e2.0\target\scala-2.10\classes...
 [error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\admi
 n\shared\foot.template.scala:29: value at is not a member of controllers.Reverse
 Assets
 [error] Seq[Any](forApp.raw/*1.1*/("""<script data-main=""""),_display_(/*1.21*/
 routes/*1.27*/.Assets.at("javascript/admin.js")),forApp.raw/*1.60*/("""" type="t
 ext/javascript" src=""""),_display_(/*1.91*/routes/*1.97*/.Assets.at("lib/requir
 ejs/require.js")),forApp.raw/*1.135*/(""""></script>
 [error]
                       ^
 [error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\admi
 n\shared\head.template.scala:31: value at is not a member of controllers.Reverse
 Assets
 [error] <link rel="stylesheet" media="screen" href=""""),_display_(/*3.46*/route
 s/*3.52*/.Assets.at("stylesheets/admin.css")),forApp.raw/*3.87*/("""">
 [error]
                  ^
 [error] C:\Users\App\git\website2.0\app\views\admin\shared\foot.scala.html:1: va
 lue at is …
Run Code Online (Sandbox Code Playgroud)

java scala playframework requirejs playframework-2.3

7
推荐指数
1
解决办法
2425
查看次数