| Home | Techniek | Docker | Server | Linux | Git | Wildfly | Promgrammeer

Wildfly

Op het moment gebruik ik versie 10.1 van Wildfly.

Installatie als daemon

Kopieer het init.d script uit Wildfly:

cp /opt/wildfly/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/wildfly

Kopieer de defaults:

cp /opt/wildfly/docs/contrib/scripts/init.d/wildfly.conf /etc/default/wildfly

Pas /etc/default/wildfly aan naar je eigen wensen, vooral de JDK is natuurlijk van belang.

Maak /var/log/wildfly/ aan en maak de Wildfly user en groep daar eigenaar.

Zorg dat wildfly ook echt als service kan draaien:

update-rc.d wildfly defaults
update-rc.d wildfly enable

Start tenslotte Wildfly service wildfly start

Poorten veranderen

In mijn geval was poort 8080 al bezet. Wildfly heeft een file waar de standalone configuratie aangepast kan worden: $WILDFLY_HOME/standalone/configuration/standalone.xml

Zoek naar de string jboss.socket.binding.port-offset:0 en maak van die 0 een ander getal, alle poorten zullen met dat getal verhoogd worden.

Logging

Logging gaat standaard naar de algemene log. Dit is vrij eenvoudig om te zetten. Als er een bestand met (o.a.) de naam jboss-log4j.xml dan zal Wildfly dit bestand gebruiken.

Als er een fileappender wordt gebruikt, wil je hier geen hardcoded path in hebben. Dit kan door in Wildfly een system property aan te maken met b.v. de naam "LOGDIR" en de waarde "/var/log/wildfly". In je appender gebruik je dan:

<param name="file" value="${LOGDIR}/mijnlog.log">;

Nadeel van deze manier is dat als je je jboss-log4j.xml aanpast, Wildfly opnieuw opgestart moet worden voordat je het resultaat ziet.

Wildfly, JSF en Apache Shiro

Uitloggen

Uitloggen gaf een vreselijke stacktrace op het scherm, Shiro logt uit door de sessie te wissen, maar JSF heeft dat liever niet.

Dit heb ik als volgt opgelost:

    public String uitloggen() {
        currentUser.logout();
        return "/index.xhtml?faces-redirect=true";
    }