2009-04-17

Tomcat JNDI 资源无法创建的问题

  按 tomcat docs 中 Tomcat Standard Resource Factories 的说明,新建了一个 ServerSettings 类,配置内容如下:
<resource name="bean/ServerSettings" auth="Container" type="com.lingsmm.framework.config.ServerSettingsBean" factory="org.apache.naming.factory.BeanFactory" uploadfilesavepath="/usr/local/nan/uploadFiles" uploadfiletemppath="/usr/local/nan/temp"/>

将文件打成 war 文件包进行发布,启动服务时,提示无法创建实例,似乎是类工厂无法取到,具体不是很确定。

改用直接使用绝对路径,指向应用所在目录,启动服务时,打开 /manager/ 看到有两个 / (应用的 path = "/"),状态都是未启动的。

将系统默认的 "/" 应用删除,重新启动服务,这回可以取得 JNDI 资源对象了。

虽然解决问题了,但问题的原因却无法找到,感觉很是郁闷,大致看了下 tomcat 6.0.18 的源代码,对于那个 lookup 对应的 binding ,里面的对象是如何生成的,看得有点糊涂,没有深究。不知道有人遇上没,给个解析就好了。
By mostone.Jiang