resin和tomcat调用JNDI的差别

2010-08-17  来源:本站原创  分类:Resin  人气:0 

原来的一段JDNIsouce在tomcat下好用,今天转移到resin上,发现了奇怪的问题,竟然找不到class。

源代码:

Hashtable<String, String> table = new Hashtable<String, String>();
// 设置JNDI的工厂类
table.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory");
// 初始化JNDI上下文
InitialContext ctx = new InitialContext(table);

转移到 resin上竟然提示找不到class:org.apache.naming.java.javaURLContextFactory

于是换成resin下的javaURLContextFactory类:com.caucho.naming.java.javaURLContextFactory

Hashtable<String, String> table = new Hashtable<String, String>();
// 设置JNDI的工厂类
table.put(Context.INITIAL_CONTEXT_FACTORY, "com.caucho.naming.java.javaURLContextFactory");
// 初始化JNDI上下文
InitialContext ctx = new InitialContext(table);

可是,依旧报错:

java.lang.ClassCastException: com.caucho.naming.java.javaURLContextFactory cannot be cast to javax.naming.spi.InitialContextFactory

多么神奇的错误啊~

不死心,去掉table的声明:

InitialContext ctx = new InitialContext();

哈哈~不再报错了~

可是在取得内容的时候,又有新问题:

ds = (ComboPooledDataSource) ctx.lookup("datasource");

这行souce在resin的不同版本下竟然有不同的体现

在3.0.1下直接返回null,但是在心本版中该处直接throw Exception了。

在处理的时候要注意一下。

相关文章
  • resin和tomcat调用JNDI的差别 2010-08-17

    原来的一段JDNIsouce在tomcat下好用,今天转移到resin上,发现了奇怪的问题,竟然找不到class. 源代码: Hashtable<String, String> table = new Hashtable<String, String>(); // 设置JNDI的工厂类 table.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory"

  • tomcat's JNDI configuration and testing of 2010-03-29

    tomcat's JNDI configuration and testing of this example related to: Project name: proj Database: Oracle10g Database name: db Database username: user Database user password: user Tests used for table name: t_user 1.tomcat configuration file server.xml

  • Configure Tomcat's JNDI database mysql link error. 2011-04-25

    Mysql in tomcat's jndi in the configuration data source, the results start old mistakes. Which contains the information: The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

  • java 使用tomcat的JNDI数据源 2014-06-05

    终于有机会写一些比较基础的代码了,终于有机会在tomcat上配置jndi数据源了,但是这是一个费时间的过程.这里把这个过程记录如下. 目的:tomcat提供数据源,java代码中通过jdbc获取jndi,操作数据库. 步骤: 1.讲数据库的驱动jar放到tomcat的lib目录下,%TOMCAT_HOME%\lib 2.修改%TOMCAT_HOME%\conf目录下配置文件server.xml,增加如下内容: <Context docBase="/securityProxyWeb"

  • Tomcat's JNDI under the Teradata data source configuration 2008-12-30

    Here to tomcat-5.5.7, for example, tomcat 6 configuration and this is not the same. 1, first in the tomcat-5.5.7 \ conf \ server.xml in <Host> </ Host> add the following code: <Context crossContext="true" debug="5" docBa

  • Respectively Jetty. Resin. Tomcat deploy war file 2008-10-19

    Jetty About Jetty to deploy war See also: http://congpeixue.iteye.com/admin/blogs/254664 Also found in jetty el expression can not be run correctly, Does anyone encountered similar problems? Resin Open resin.conf can see the following configuration <

  • Win2003平台上jsp虚拟主机环境的架设(IIS6+J2SDK+resin) 2014-11-29

    今天有客户找我配置服务器,要求asp+php+jsp运行环境,理论上我不建议同事跑jsp,一般windows下都是asp+php下.而linux下对asp的支持又不好 平台上jsp虚拟主机环境的架设--windows2003+iis6+j2sdk1.4.2+resin2.1.16 .abu. at patching.net 今天,我生日,自己记性也不太好,顺手写一篇文章,省得不小心忘了. 我通常在windows上工作,这次要架设jsp虚拟主机运行环境,查看了一下网上所能找到的资料,基本没有能用的

  • Spring引用Tomcat的 JTA事务 2010-06-12

    Spring引用Tomcat的 JTA事务 Tomcat是Servlet容器,但它提供了JNDI的实现,因此用户可以象在Java EE应用程序服务器中一样,在Tomcat中使用JNDI查找JDBC数据源.在事务处理方面,Tomcat本身并不支持JTA,但是可以通过集成JOTM达到目的. 如果你的应用最终部署到一个功能齐备的Java EE应用服务器上,也许你更希望使用Java EE应用服务器的JTA功能,这样可以利用应用服务器本身许多优化措施.下面,我们让Tomcat通过JNDI开放JOTM的JT

  • [转]Spring引用Tomcat的 JTA事务 2011-06-03

    Spring引用Tomcat的 JTA事务 Tomcat是Servlet容器,但它提供了JNDI的实现,因此用户可以象在Java EE应用程序服务器中一样,在Tomcat中使用JNDI查找JDBC数据源.在事务处理方面,Tomcat本身并不支持 JTA,但是可以通过集成JOTM达到目的. 如果你的应用最终部署到一个功能齐备的Java EE应用服务器上,也许你更希望使用Java EE应用服务器的 JTA功能,这样可以利用应用服务器本身许多优化措施.下面,我们让Tomcat通过JNDI开放JOTM的

  • tomcat6.0.x启动过程-tomcat 6.x 源码阅读 2013-09-07

    2013-09-07 周末来啊,宅的日子又到了- 我们知道tomcat的基本是容器,通过容器来完成servlet容器的设计.从上一篇blog中看到了tomcat的结构框架图,图中容器嵌套,组件组合,tomcat如何设置他们的结构关系,如何将他们融合成能完成Servlet容器更能的东西,通过对tomcat6.0.x启动过程的了解,我们应该可以知道tomcat如何组织他们的. 要想知道tomcat的启动,首先得知道tomcat的启动类时哪一个,跟踪启动脚本会发现启动类:org.apache.cata

  • 入侵Tomcat服务器一次实战 2014-08-16

    到网上随便逛逛,我就会发现用JSP制作的电子商务网站多如牛毛,从JSP日渐繁荣的局面来看,适合于各种平台而且免费的Tomcat逐渐成为WEB服务器的一种选择.eBay.com与Dell计算机等知名网站都采用或者曾经采用Tomcat的Container容器执行Servlet 与JSP,可想而知这个服务器软件所具有的前途.那他们的安全性如何呢?一起来看看吧! 小知识:Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境(Servl

  • Getting Started with Tomcat configuration files 2010-03-29

    Tomcat basic configuration tomcat read the configuration file is the first mention briefly how to read the tomcat configuration file. tomcat on startup, first of all to find the system variable CATALINA_BASE, if not, then look for CATALINA_HOME. Then

  • Spring's JTA transaction reference Tomcat 2011-01-02

    Tomcat is a Servlet container, but it provides a JNDI implementation, so users can, as in the Java EE application server like Tomcat using JNDI lookup in the JDBC data source. Terms of the transaction, Tomcat itself does not support the JTA, but you

  • ant configuration, stop tomcat, start tomcat war package 2011-03-11

    ant configuration to stop tomcat, packaged war file into the program folder, start tomcat one collection Reproduced Keep: http://blog.csdn.net/laorer , thank you! Nothing to say, is a file, to integrate several functions, other say, is stop and start

  • The Issue About JNDI Datasource HOW-TO 2014-12-26

    配置Tomcat的JNDI数据源,是个很"古老"的话题了,网上可以查到N多详解,故不再过多阐述.Tomcat的官方文档里的说明算是全面了,如果你阅读英文无障碍的话,那么可以拜读官方文档.如果想节省脑细胞的话,推荐下面的链接,清楚地说明了JNDI数据源的配置手段. Tomcat配置JNDI数据源 我在这里想提及的是在配置过程中,遇见的"特殊状况".我选择的是单个应用配置数据源的"手段",恰巧官网文档中有Mysql的示例,我就拿来用了. 在应用的根目

  • tomcat+eclipse远程调试 2015-02-02

    在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat 一.在windows系统中: 打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行: set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8

  • 建设大型网站要考虑数据库压力和服务器负载(收藏) 2012-03-09

    所谓大型网站就是访问量与流量都很大的一些网站,因此在建站初期就要考虑好当流量达到某一级别是是否可以支撑网站继续正常运营下去.其中主要考虑的方面有几点:数据库压力,网页优化,服务器负载. 一. 1.数据库压力问题 所有的压力最终都会反映到数据库方面,一定要对数据库有一个整体的规划. 可以按照业务.区域等等特性对数据库进行配置,可以考虑分库.使用rac.分区.分表等等策略,确保数据库能正常的进行交易. 2.事务问题 你采用了两种类型数据库,一个SQL Server.一个oracle,如果一个交易需要

  • 让Hibernate输出SQL语句参数配置 2013-06-04

    在J2ee应用中,如果采用Hibernate框架,可以自动建立数据库实体与Java实体类的映射关系,大大方便Java程序进行持久化对象访问和操作,从而明显提高企业应用开发效率,减轻Java程序与后台数据库的依赖性. 但 是,有时候如果操作不慎,可能造成映射关系不完整(特别是存在外键链接的时候),造成访问数据库对象时程序有Bug.这时,可以通过参数配置,让 Hibernate在每次需要从数据库查询记录或者每次插入.更新数据库记录时,将相应的SQL语句输出到控制台,从而了解具体的数据库操作,更好地进

  • jms与ActiveMQ实践与应用 2013-11-13

    前言 这是我自己从不知道JMS为何物到学习如何使用第三方工具实现跨服务器的知识总结,在整个过程中可能考虑不全.另外,如果想尽快使用JMS,建议直接看实例那一节就可以了.有问题多交流. 词语解释 (有些词可能用的不是很正确,在这里我把自己能意识到的词拿出来解释一下): 1. 跨服务器:专业术语好像叫"跨实例".意思是,可以在多个服务器(可以是不同的服务器,如resin与tomcat)之间相互通信.与之对应的是单服务器版. 2. 消息生产者:就是专门制造消息的类. 3. 消息消费者:也叫消

  • So that the output SQL statements Hibernate configuration parameters 2009-08-22

    In J2ee applications, if the Hibernate framework, you can automatically create a database with Java entity class entity mapping relationship between the procedure would greatly facilitate persistent Java object access and operation, thereby significa