DataSourceAlm Tomcat 6配置:名称jdbc在此上下文中未绑定

DataSourceAlm Tomcat 6配置:名称jdbc在此上下文中未绑定,tomcat,jdbcrealm,Tomcat,Jdbcrealm,我正在tomcat6中配置datasourcealm在META-INF/context.xml中配置所有内容web.xml似乎配置正确,因为出现了登录提示 有人能帮忙吗 context.xml <Context > <Resource name="jdbc/auth" description="authentication" type="javax.sql.DataSource" auth="Container" driverClassName="com

我正在
tomcat6中配置
datasourcealm
META-INF/context.xml
中配置所有内容
web.xml
似乎配置正确,因为出现了登录提示

有人能帮忙吗

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>

堆叠


javax.naming.NameNotFoundException:名称jdbc在此上下文中没有绑定

我解决了这个问题。在$CATALINA_BASE\conf\CATALINA\localhost下,有另一个[App Name].xml文件较旧(它没有localDatasource=“true”标志),并且没有我发布的相同配置。我删除了那个文件,重新部署了我的战争。之后它就开始工作了。

在进行部署时,我们遇到了如下所示的问题。起初,我们假设setenv.sh和conpass文件(这是合并属性文件和密码的地方)存在问题,但是,在一次一个地重新部署每个文件后,我们将问题隔离到导致问题的主文件。更具体地说,这个问题本身是一个错误的指标,因为编码或部署本身实际上没有什么问题。引发此问题是因为我们在Tomcat webapps目录中有备份主文件目录。这样做会产生以下严重错误:

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).
抛出错误是因为我们有多个目录,并且在启动服务器时tomcat试图读取每个目录。一旦我们删除了备份主文件目录,问题就解决了