HtmlUnit закрывает все утечки памяти WindowsJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 HtmlUnit закрывает все утечки памяти Windows

Сообщение Anonymous »

Похоже, что HtmlUnit не закрывает окна в веб-клиенте, что приводит к утечке памяти. Я пытаюсь получить страницу с 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);
}
}
}
}


По мере этого объем памяти постоянно увеличивается, и на экране отладки я вижу, что все окна по-прежнему используются веб-клиентом и не закрыты.

Я видел этот код, который должен закрывать эти окна:

List windows = webclient.getWebWindows();
for (WebWindow ww : windows) {
ww.getJobManager().removeAllJobs();
ww.getJobManager().shutdown();
}
webclient.closeAllWindows();


Но, увы, этого не происходит, и утечка памяти по-прежнему возникает.

Кто-нибудь сталкивался с этой проблемой?< /p>

Привет!

Информация о версии:

HtmlUnit 2.15

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)


Подробнее здесь: https://stackoverflow.com/questions/264 ... emory-leak
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»