Tomcat 无法识别我的上下文
我有一个 Web 应用程序,并在打开的 SUSE 上使用 tomcat-5.5.27、eclipse 3.4。 我从 eclipse 使用它(部署、运行、调试等...) 我必须设置 Tomcat 将公开的一些 JNDI 资源(数据源)。 这些资源现在在 \META-INF\context.xml 中定义。 这很好用。
但是,当我将此文件(context.xml)移动到 tomcat-5.5.27/conf/context.xml 或 tomcat-5.5.27/conf/Catalina/localhost/myapp.xml,它不会加载文件中定义的资源。
可能是什么问题?
我的上下文.xml:
<Context path="/myapp" docBase="/myapp" debug="5" reloadable="true" crossContext="true">
<Resource name="jndi_name" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="COM.ibm.db2.jdbc.app.DB2Driver"
url="jdbc:path_to_db"
username="username"
password="password"
validationQuery="SELECT 1 FROM SYSIBM.SYSDUMMY1"
defaultTransactionIsolation="READ_COMMITTED"
removeAbandoned="true" logAbandoned="true" >
</Context>
I have a web application and use tomcat-5.5.27, eclipse 3.4 on open SUSE. I use it from eclipse (deploy, run, debug, etc...)
I have to set some JNDI resources (datasources) that Tomcat will expose them.
These resources are defined now in \META-INF\context.xml. This works fine.
But, when I move this file (context.xml) in tomcat-5.5.27/conf/context.xml or
tomcat-5.5.27/conf/Catalina/localhost/myapp.xml, it does not load the resources defined in the file.
What can be the problem?
My context.xml:
<Context path="/myapp" docBase="/myapp" debug="5" reloadable="true" crossContext="true">
<Resource name="jndi_name" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="COM.ibm.db2.jdbc.app.DB2Driver"
url="jdbc:path_to_db"
username="username"
password="password"
validationQuery="SELECT 1 FROM SYSIBM.SYSDUMMY1"
defaultTransactionIsolation="READ_COMMITTED"
removeAbandoned="true" logAbandoned="true" >
</Context>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您使用 Eclipse 中的 Web 工具项目功能来管理 Tomcat 实例,您需要知道它确实会更改 Tomcat 基本目录。
尝试使用单独的 Tomcat 安装,看看是否有帮助。
If you're using the web tools project feature in Eclipse to manager your Tomcat instance you need to know that it does change Tomcat base directories.
Try using a separate Tomcat install and see if that helps.
当 tomcat 加载 JDBC 驱动程序时(即在加载您的 web 应用程序之前),这可能是一个类路径问题。
您在 tomcat-5.5.27/common/lib 中有 DB2 驱动程序的 JAR 文件吗? 它一定是为了
类加载器来查找它,而不是在您的 web 应用程序的 WEB-INF/lib 目录中。
This could be a classpath issue when tomcat comes to load the JDBC driver, (ie. before it loads your webapp).
Do you have the JAR file for the DB2 driver in tomcat-5.5.27/common/lib ? It must be there for
the class loader to find it, and not in your webapp's WEB-INF/lib directory.
你的网络应用程序存储在哪里? 它是自己的文件夹还是在 webapps 下? 检查您的 docBase 是否有效,如果您的应用程序位于 webapps 下,我认为您不需要“/”
Tomcat 日志中的任何相关信息?
where is your webapp stored ? It's own folder or under webapps ? check if your docBase is valid, if your app is under webapps I don't think you need the "/"
Any relevant info from the Tomcat logs ?
在服务器视图中打开 tomcat 服务器,修改诸如超时之类的任何内容,保存它,您的上下文将被识别。
Open the tomcat server in the server view, modify anything like the timeout, save it and your context will be recognized.
tomcat启动时日志显示什么?
该标签未关闭,请检查您是否正确地将其复制到问题中。
What do the tomcat logs show when you start it up?
That tag is not closed, check if you copied it to question correctly.