Direkt zum Hauptbereich

JBoss 5.1.0 Tag Pooling deaktivieren

In einer älteren Java Webanwendung unter Struts 1 und JBoss 5.1.0 war nach dem Logout aller Benutzer immer noch sehr viel Speicher mit Objekten der Applikation belegt.
Eine Heapanalyse ergab, dass Instanzen der eigenentwickelten JSP Tag-Klassen über die Klasse org.apache.jasper.runtime.TagHandlerPool weiter im Speicher gehalten wurden. Die Tag Klassen realisieren spezifische HTML Ausgaben und halten dadurch Referenzen zu nicht mehr benötigten Objektinstanzen am Leben. Der TagHandlerPool ist standardmäßig im JBoss aktiviert, kann aber ausgeschaltet werden:
  1. Man navigiert zu folgendem Ordner:
    jboss\server\[project]\deployers\jbossweb.deployer
  2. Dort fügt man in der web.xml zum JSP Servlet folgenden Parameter hinzu:
    <init-param>
       <description>Disable Tag Pooling</description>
       <param-name>enablePooling</param-name>
       <param-value>false</param-value>
    </init-param>
Das Pooling ist nach dem nächten Deployment deaktiviert. Da nun kein Pooling mehr stattfindet, können die Instanzen vom Garbage Collector aufgeräumt werden. Vor dem Deaktivieren sollte man sich sicher sein, dass es nicht zu Performanceeinbußen kommen kann, wenn die Tag Klassen regelmäßig neu erzeugt werden.

Beliebte Posts aus diesem Blog

Chromium App Modus in Gnome

Um einzelne Webseiten im Gnome Desktop via Chromium App Modus als eigene Anwendung zu registrieren, geht man wie folgt vor (Beispiel Whatsapp Web): Eine neue .desktop Datei unter /home/[USER]/.local/share/applications anlegen [Desktop Entry] Name=Whatsapp Exec=chromium --app=https://web.whatsapp.com --new-window StartupNotify=true Terminal=false Type=Application Icon=[PFAD ZUM ICON] StartupWMClass=web.whatsapp.com Nun sollte ein neuer Eintrag in den Gnome Anwendungen vorhanden sein Damit die Fenster unter dem Anwendungsnamen gruppiert werden, muss der Wert StartupWMClass korrekt gesetzt werden. Hierfür startet man die Anwendung und parallel eine Terminalsession. Im Terminal startet man den Befehl "xprop WM_CLASS". Mit dem Fadenkreuz klickt man nun das geöffnete Chromium Fenster an. Die Ausgabe im Terminal enthält nun: WM_CLASS(STRING) = "web.whatsapp.com", "Chromium" Die erste Zeichenkette ist der Wert für den Parameter "StartupWMClass".

Virtualbox 6.1 unter Debian 11 (Bullseye) installieren

Aktuell gibt es noch kein offizielles Virtualbox Repository für Debian 11. Ein entsprechendes Ticket dazu (siehe  https://wiki.debian.org/VirtualBox#Debian_11_.22Bullseye.22 ) gibt es bereits. Wie folgt lässt sich die aktuelle Version aus dem Virtualbox Debian 10 (Buster) Repository installieren: Das entsprechende Repository hinzufügen, falls noch nicht geschehen: https://www.virtualbox.org/wiki/Linux_Downloads Die aktuelle Version von libpvx5 downloaden: wget http://ftp.uni-mainz.de/debian/pool/main/libv/libvpx/libvpx5_1.7.0-3+deb10u1_amd64.deb Als root installieren: apt install ./libvpx5_1.7.0-3+deb10u1_amd64.deb Virtualbox installieren: apt-get install virtualbox-6.1 Fertig!

Firefox on Linux - Hardwarebeschleunigung aktivieren

Systeminformationen Betriebssystem: Debian Bullseye Firefox: 102 Vorab mittels Befehl "vainfo" prüfen, ob VA-API funktioniert. Firefox Einstellungen Anschließend müssen in "about:config" folgende Settings gesetzt werden: gfx.webrender.all                            = true gfx.x11-egl.force-enabled                    = true media.ffmpeg.vaapi.enabled                    = true media.ffvpx.enabled                           = false media.rdd-vpx.enabled                        = false media.navigator.mediadatadecoder_vpx_enabled = true Überprüfung Nach einem kompletten Firefox Neustart sollte das Ergebnis unter "about:support" in der Sektion "Grafik" sichtbar sein: Compositing        = WebRender HW_COMPOSITING     = available by default OPENGL_COMPOSITING = available by default X11_EGL            = available by default VAAPI              = force_enabled by user Bei dem Parameter Compositing muss beachtet werden, dass der Zusatz "Software" ni