Java Anwendung zur Befüllung des Varnish Caches

jimb0p

Erfahrenes Mitglied
Hallo Zusammen,

ich hatte die Idee mir eine Java Anwendung zu schreiben die über die Sitemap alle Seiten absurft und mir so den Varnish befüllt. Da er bei dem einen oder anderen Abgleich immer wieder geleert wird. Jetzt habe ich eine Anwendung geschrieben und diese ausgeführt jedoch bringt sie nicht den Effekt wie als wenn ich mit dem Browser die Seite absurfe. Habe ich irgendwas falsch gemacht oder vergessen?

Hier der Code:
Code:
private static ArrayList<String> linkListe = new ArrayList<String>();
   
    public static void main(String[] args){
        Document doc;
        try {
            doc = Jsoup.connect("http://platzhalter/sitemap/").get();
            // get all links
            Elements div = doc.select("div.xsitemap-categories");
            Elements links = div.select("a");
            for (Element link : links) {
               String url = link.absUrl("href");
               linkListe.add(url);
            }
            for(int i = 0; i < linkListe.size(); i++){
                sayHelloToEachPage(linkListe.get(i), 0);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
   
    public static void sayHelloToEachPage(String url, int pageCounter){
        String backupUrl = url;
        if(pageCounter != 0){
            url = url+"?p="+pageCounter;
        }
        System.out.println("Parse: "+url);
        try {
            Document doc = Jsoup.connect(url).header("Accept-Encoding", "gzip, deflate")
                    .userAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36")
                    .maxBodySize(0)
                    .timeout(600000)
                    .get();
           
            Elements amount = doc.select("a.i-next");
            if(amount.size() == 0){
                System.out.println("Status: Keine weiteren Seiten vorhanden...");
                return;
            }else{
                pageCounter++;
                System.out.println("Status: Weitere Seiten gefunden...");
                sayHelloToEachPage(backupUrl, pageCounter);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Die URL wurde abgeändert da es noch eine Entwicklungsumgebung ist.
 

Neue Beiträge

Zurück