Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇).docVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate3.1Tomcat5.5.X(配置JNDI篇)

Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇)一、引言 在Tomcat从其5.0版本升级到5.5.x版本之后,它的配置发生了很多变化。这些改变明显地影响到Tomcat JNDI的建立,这反过来又影响到Hibernate—假定你想在自己的Hibernate安装中利用Tomcat JNDI所提供的方便的DataSource配置的话。 另外,在Hibernate从其3.0版本升级到3.1版本的过程中,在有关获取线程安全的Hibernate会话方面也进行了极大的简化。 从Hibernate的角度来观察,Tomcat是一种混合的环境。Tomcat提供一个JNDI和DataSource—它们都不是一个独立的应用程序。这个DataSource工具为实现应用程序服务器的可移植性提供了方便。但是,就象一个独立的环境一样,Tomcat并没有提供事务管理器;因此,你的代码中必须使用Hibernate事务管理器。 到目前为止,我们很难找到有关这两个新版本框架联用的完整的描述—在因特网,甚至在H站点([url][/url]) 上都未曾发现。而在其它一些地方找到的相关信息都已过时。原先的Hibernate 3.0参考文档中提供了有关Hibernate/Tomcat集成(基于Tomcat 4.1)的很有用的一章,但在当前Hibernate 3.1的参考文档中已经删除了原有的这一章。因此,我们十分希望,本系列文章(三篇)会对你的工程开发中在新版本的Hibernate和Tomcat联用方面助一臂之力。 二、Context.xml文件 在Tomcat的早期版本中,你必须经由服务器范围的配置文件—server.xml来配置Tomcat JNDI。为此,你需要在这个文件内包括多个元素,相应于每一个DataSource建立一个元素。在Tomcat 5.5中,你不再需要使用这个服务器范围的文件来配置JNDI。而是,你只需要把一个应用程序范围的Context.xml放到你的META-INF目录 —例如“C:\Tomcat 5.5\webapps\BasicWeb\META-INF\Context.xml”下。(注意:你可能会在网上看到许多参考资料,其中说,这个文件应该根据你的应用程序命名—例如YourApp.xml。其实,这是错误的—你应该使用固定的文件名Context.xml。) 下面图1中的屏幕快照展示了在你的Tomcat目录层次下的Context.xml文件的位置: ? 在你的应用程序的Context.xml文件中,相应于每一个DataSource你都应该包括一个元素。这个元素提供了一组定义DataSource的属性,但是没有子元素。下面是一个应用程序完整的Context.xml文件内容。注意,在此仅要求使用一个DataSource: ? docBase=C:\Tomcat 5.5\webapps\BasicWeb workDir=C:\Tomcat 5.5\webapps\BasicWeb ??? type=javax.sql.DataSource maxActive=100 maxIdle=30 maxWait=10000 username=sam password=sam123 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/sampdb?autoReconnect=true/ 上面的元素具有创建一个Tomcat JNDI DataSource入口的作用。当Tomcat服务器初始启动时,这个JNDI及这个相应的JNDI入口即被创建。站在从JNDI中检索信息的角度来看,这个JNDI DataSource入口与一个应用程序服务器中的这样的一个入口没有什么不同。(然而,在Tomcat启动周期完成之后,这个Tomcat JNDI是只读的。在Tomcat操作过程中,你的定制应用程序和Hibernate都不能够添加或修改这个JNDI中的入口) 顺便说一下,本系列的几篇中都可能会使用MySQL作为数据存储方式,这正如你在上面的元素中所见的。 不仅Hibernate能够使用Tomcat JNDI,你的原始JDBC也能够存取JNDI,其方式与你从一个应用程序服务器的一个JNDI中存取一个DataSource的方式完全一致。下面代码片断来自于一个servlet中,它从上面的JNDI元素中获得一个JNDI连接,并且使用原始JDBC(不是Hibernate)来执行数据库查询。 InitialContext initCtx = new InitialContext(); DataSource ds = (DataSource)initCtx.lookup

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档