2013-05-22 2 views
5

Ich konfiguriere ein DatasourceRealm in Tomcat 6 Konfiguration alles in META-INF/context.xml. web.xml scheint korrekt konfiguriert zu sein, da die Anmeldeaufforderung angezeigt wird.DatasourceRealm Tomcat 6 Konfiguration: Name jdbc ist in diesem Kontext nicht gebunden

Kann jemand helfen?

context.xml

<Context > 
    <Resource name="jdbc/auth" description="authentication" type="javax.sql.DataSource" 
     auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
     maxActive="25" maxIdle="10" maxWait="10000" 
     url="jdbc:sqlserver://SQLSERVER;databaseName=db;integratedSecurity=true" 
     validationQuery="select 1" /> 
    <Realm className="org.apache.catalina.realm.DataSourceRealm" 
     dataSourceName="jdbc/auth" userTable="WebUsers" userNameCol="username" 
     userCredCol="password" userRoleTable="WebUserRoles" roleNameCol="role" 
     localDataSource="true"/> 
</Context> 

Stapel

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

Antwort

1

dachte ich, das Problem aus. Unter $ CATALINA_BASE \ conf \ Catalina \ localhost gab es eine andere [App Name] .xml-Datei, die älter war (sie hatte nicht das Flag localDatasource = "true") und hatte nicht dieselbe Konfiguration, die ich gepostet hatte. Ich habe diese Datei entfernt und meinen Krieg neu verteilt. Es hat danach funktioniert.

-1

Während der Bereitstellung ist das Problem aufgetreten, wie unten dargestellt. Wir vermuteten zunächst, dass es sich um ein Problem mit der Datei setenv.sh und der Datei conpass handelt (hier werden die Eigenschaftendateien und Kennwörter konsolidiert). Nach der erneuten Bereitstellung der einzelnen Dateien isolierten wir das Problem jedoch auf MasterFile, das das Problem verursacht hatte. Genauer gesagt, das Problem an sich war ein falscher Indikator, da eigentlich nichts an Kodierung oder Implementierung selbst fehlte. Das Problem wurde verursacht, weil wir MasterFile-Backup-Verzeichnisse im Tomcat-Webapps-Verzeichnis hatten. Dabei erstellt es die folgenden schwerwiegenden Fehler:

SEVERE: Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'datasource' defined in ServletContext resource [/WEB-INF/beans.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name [jdbc/CRIDB] is not bound in this Context. Unable to find [jdbc]. 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338). 

Der Fehler geworfen wurde, weil wir mehrere Verzeichnisse vorhanden und wenn die Erziehung der Server Kater versuchte zu lesen jedes hatte. Sobald wir die Backup-MasterFile-Verzeichnisse entfernt haben, wurde das Problem behoben

Verwandte Themen