首页 > Web开发 > 详细

Tomcat 定制JNDI URL Resource

时间:2015-07-31 01:30:33      阅读:308      评论:0      收藏:0      [点我收藏+]

有个项目生产环境是Webshpere,WAS提供了基于URL的JNDI Resource, 而我们的自动化集成测试阶段使用的tomcat容器不支持这种类型的Resource,所以需要自己定制。定制很简单,先按tomcat定制resource的方式建一个jar可以读取url,加入到tomcat的classpath,然后就可以通过配置来使用基于URL的JNDI资源了。这里给出一个通过jndi访问文件夹路径的例子。

  • 建立jar,通过建立一个jar maven项目,然后在里面定义一个com.demo.URLFactory的类,加入以下实现,然后build出jar文件(例如:tomcat_jndi_url.jar)
public class URLFactory implements ObjectFactory
{

    @Override
    public Object getObjectInstance(Object obj, Name name, Context context, Hashtable<?, ?> environment) throws Exception
    {
        Reference ref = (Reference) obj;
        String url = (String) ref.get("url").getContent();
        return new URL(new URL("file:"),url);
    }

}
  • 将jar放入tomcat的classpath目录
  • 在tomcat加入resource创建方式,指定之前包中的类来生成url
<Resource name="url/demo"
              auth="Container"
              type="java.net.URL"
              factory="com.demo.URLFactory" url="./demo/"/>
  • 在web.xml加入resource使用方式
<resource-ref>
  <description>Object factory for url.</description>
  <res-ref-name>url/demo</res-ref-name>
  <res-type>java.net.URL</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
  • 在Spring xml配置文件中加入jndi-lookup,就可以访问到文件夹地址了
<jee:jndi-lookup id="demo" jndi-name=" java:comp/env/url/demo"/>

版权声明:本文为博主原创文章,未经博主允许不得转载。

Tomcat 定制JNDI URL Resource

原文:http://blog.csdn.net/cloud_ll/article/details/47159125

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!