UNIXwork

Apache Tomcat 9 veröffentlicht

2018-01-25 15:13:54.0

Apache Tomcat 9.0.4 wurde veröffentlicht, was auch die erste stabile Version der 9er Reihe ist.

Tomcat 9 implementiert die neueren Spezifikationen Java Servlet 4.0, JavaServer Pages 2.4, Java Unified Expression Language 3.1 und die Java API for Websocket 2.0. Des Weiteren wird jetzt auch mindestens Java 8 benötigt.

Downloads gibt es auf der Apache Tomcat Webseite.

Autor: Olaf | 0 Kommentare | Tags: apache, tomcat, java

Einstieg in LDAP mit OpenDJ

2014-12-29 15:00:00.0

LDAP-Server gibt es einige. Am meisten verbreitet ist wohl OpenLDAP. Ich persöhnlich finde OpenLDAP allerdings zu frickelig, vor allem seit slapd.conf abgeschafft wurde, und die Konfiguration auch über ldap geschieht. Glücklicherweise gibt es einige Alternativen, z.B. den 389 Directory Server von Red Hat, und natürlich OpenDJ, worum es in diesem Artikel auch gehen soll.

OpenDJ ist ein Fork von OpenDS, einem von Sun Microsystems in Java entwickelten LDAP-Server. Nach der Übernahme von Sun durch Oracle wurde die Entwicklung von OpenDS jedoch eingestellt, daher gründeten ehemalige Sun-Mitarbeitern die Firma ForgeRock und forkten OpenDS. OpenDJ hat daher einen gewissen kommerziellen Charakter, allerdings ist es trotzdem OpenSource-Software.

OpenDJ gibt es unter anderem als einfaches zip-Package zu downloaden. Für die normalen Releases muss man sich registrieren, jedoch nicht für die Nightly-Builds. Da es sich um Java-Software handelt, benötigt man natürlich eine JRE. Nach dem Download einfach das zip-Package in den gewünschten Installationsort entpacken. Danach muss nur noch das setup-Script ausgeführt werden. Dieses startet einen kinderleichten grafischen- oder CLI-Assistenten, in dem alles nötige konfiguriert wird.

Nach dem Setup wird gewöhnlich eine Server-Instanz gestartet und es wird gefragt, ob man das Control-Panel (Button mit der Aufschrift “Steuerbereich starten”) starten möchte. Dies kann man später auch alles manuell machen. Im opendj/bin Verzeichnis liegen alle nötigen Skripte (start-ds, stop-ds, control-panel).

Das Control-Panel macht OpenDJ so benutzerfreundlich. Es ist sowohl möglich lokale Server, als auch entfernte Server damit zu administrieren.

OpenDJ Control-Panel Login Screenshot

OpenDJ Control-Panel Übersicht Screenshot

Neben typischen Aufgaben wie LDIF Im- und Export und Schema-Verwaltung, gibt es auch die Möglichkeit, LDAP-Einträge zu verwalten. Man kann sich also auch einen separaten LDAP-Client sparen.

OpenDJ Control-Panel Einträge Screenshot

Ganz nett ist auch, dass OpenDJ standardmäßig mit allen wichtigen Schemas ausgeliefert wird. Einfacher kann man den Einstieg in die LDAP-Welt nicht machen.

Autor: Olaf | 0 Kommentare | Tags: ldap, java

JNDI mit Glassfish und Tomcat

2014-11-02 14:36:00.0

Möchte man, dass eine Java-Webanwendungen auf verschiedenen Applicationservern oder Servletcontainern lauffähig ist, gibt es im Bezug auf JNDI einen kleinen Fallstrick. Die JNDI-Namen für Resourcen sind nämlich nicht überall gleich. Mit folgendem Code kann man unter Glassfish auf einen vom Applicationserver zur Verfügung gestellten Connection-Pool zugreifen:

InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("jdbc/mydb");
Connection connection = dataSource.getConnection();

Mit anderen Servern, wie z.B. Apache Tomcat, funktioniert dies jedoch nicht. Statt dem String "jdbc/mydb" müsste man dort "java:comp/env/jdbc/mydb" verwenden. Das wiederum funktioniert nicht mit Glassfish, zumindestens nicht ohne weiteres. Allerdings gibt es dafür eine Lösung.

Man verwendet folgenden Java-Code.

DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/mydb");

Dazu muss man dann noch den Standard Deployment Descriptor web.xml und die glassfish-web.xml anpassen. In die web.xml wird folgendes eingefügt:

<resource-ref>
    <res-ref-name>jdbc/mydb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

und in die glassfish-web.xml das:

<resource-ref>
    <res-ref-name>jdbc/mydb</res-ref-name>
    <jndi-name>jdbc/mydb</jndi-name>  
</resource-ref>

Danach funktioniert die Webapp sowohl mit Glassfish als auch mit Tomcat, wenn im Server die nötigen JNDI-Resourcen konfiguriert sind.

Autor: Olaf | 1 Kommentare | Tags: java, glassfish, tomcat