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

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