wie man richtig konfigurieren Sie die jndi-Datenquelle in tomcat 8

Ich versuche zu konfigurieren jsbc Datenquelle für meine app innerhalb

-tomcat_home-\conf\Catalina\localhost

Meine app "reportExport".Krieg so habe ich eine erstellt reportExport.xml mit diesem Inhalt:

<Context>
    <Resource name="jdbc/mssql" auth="Container" type="javax.sql.DataSource"
    username="user"
    password="pass"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:52015;databaseName=rewe;integratedSecurity=false;"
    maxActive="20"
    maxIdle="10"
    validationQuery="select 1" />
</Context>

Ich Hinzugefügt web.xml diese:

<resource-ref>
    <description>
        This app requires a ms sql connection.
    </description>
    <res-ref-name>
        jdbc/mssql
    </res-ref-name>
    <res-type>
        javax.sql.DataSource
    </res-type>
    <res-auth>
        Container
    </res-auth>
</resource-ref>

Ich wahrscheinlich weglassen können, die Felder, auf die ich schon gab reportExport.xml?!

in Java versuche ich eine Verbindung wie diese:

((DataSource) (new InitialContext()).lookup("java:comp/env/jdbc/mssql")).getConnection()

Die Verbindung funktioniert fin in java, aber es gibt 2 Probleme.

Das erste problem ist: Wenn ich reportExport.xml in die richtige Pfad, bevor Sie die app tomcat wirft Ausnahme:

 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].Sta
ndardContext[/reportExport]]
...
Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\Users\moritz\entwicklung\apache-tomca
t-8.0.18\webapps\reportExport] is not valid
...

11-Feb-2015 14:15:38.303 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Error de
ploying configuration descriptor C:\Users\moritz\entwicklung\apache-tomcat-8.0.18\conf\Catalina\localhost\reportExport.x
ml
...

Nach der Bereitstellung der webapp der start ist in Ordnung.
Das zweite problem ist die reportExport.xml gelöscht wird auf der deinstallation von der web-app.

So etwas falsch ist mit meinem setup: ich möchte den system-administrator setup der Datenquelle spezifisch für meine Anwendung. Ich mag die Idee mit einer separaten Datei per web app aber die Ausnahme bei der ersten Einrichtung und die Löschung der deinstallation von schlecht sind.
Auf der anderen Seite ist es wahrscheinlich gut, um das setup-Datenquelle in server.xml aber so konfigurieren Sie die "Kontext" - element gibt es die datasource nur für bestimmte Anwendung?

InformationsquelleAutor dermoritz | 2015-02-11
Schreibe einen Kommentar