Jakarta ee apache tomcat 7.0.30数据源ALM javax.naming.NameNotFoundException:Name[jdbc/proto]在此上下文中未绑定。找不到[jdbc]
让我先描述一下环境: 环境: -mac os x(java build 1.6.0_35-b10-428-11M3811) -ApacheTomcat 7.0.30 -mysql 5.5.27 -tomcat/lib-->mysql-connector-java-5.1.22-bin.jar 我已经成功实现了JDBCRealm,并希望切换到DataSourceALM,因为建议将其用于生产环境。我使用基于表单的身份验证 我做了这里描述的一切: 在这里: server.xmlJakarta ee apache tomcat 7.0.30数据源ALM javax.naming.NameNotFoundException:Name[jdbc/proto]在此上下文中未绑定。找不到[jdbc],jakarta-ee,jndi,tomcat7,osx-mountain-lion,mysql5,Jakarta Ee,Jndi,Tomcat7,Osx Mountain Lion,Mysql5,让我先描述一下环境: 环境: -mac os x(java build 1.6.0_35-b10-428-11M3811) -ApacheTomcat 7.0.30 -mysql 5.5.27 -tomcat/lib-->mysql-connector-java-5.1.22-bin.jar 我已经成功实现了JDBCRealm,并希望切换到DataSourceALM,因为建议将其用于生产环境。我使用基于表单的身份验证 我做了这里描述的一切: 在这里: server.xml <Realm
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/proto" digest="SHA-256" roleNameCol="role"
userCredCol="password" userNameCol="name" userRoleTable="roles"
userTable="users"/>
</Realm>
<Resource auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="100" maxIdle="30" maxWait="10000"
name="jdbc/proto" password="proto" type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/proto" username="proto"/>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/proto</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
我还没有尝试在不同的操作系统上设置环境来测试它是否是mac特有的问题
有什么我错过的建议吗?我感谢你的帮助!谢谢。在我的例子中,问题是我的pom.xml中有一个冲突的依赖项。在我的例子中,这是
java命名
依赖关系。
确保您没有任何与Tomcat的命名库冲突的命名依赖项/JAR
在我删除它之后,问题就消失了(顺便说一句,与您的环境相同)。在本例中,我认为这是因为您的领域(在本例中是在服务器级别声明的)正在尝试使用命名资源jdbc/proto(在本例中是在web应用程序级别声明的) 我所理解的是java服务器上下文层次结构
为了避免在GlobalNamingResources中声明ressource,请将localDataSource=“true”放在域中实际上,ProjectName.xml中提到了这个
[jdbc/proto]
属性,如
<ResourceLink global="jdbc/proto" name="jdbc/proto"/>
从后面还原文件并完成。。。现在工作正常,希望这能帮助别人。当我将条目从context.xml移到server.xml时,它可以工作--->但我真的需要它吗?
ProjectName.xml
中需要什么?
<ResourceLink global="jdbc/proto" name="jdbc/proto"/>
tomcatInstances/ServerName/conf/Catalina/localhost/ProjectName.xml