网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.手机开发 教您使用JSR172解析XML.
.基于JAVA技术的搜索引擎的研究与.
.java学习:彻底明白Java的IO系统.
.您的 利用 Java 平台的特性建造一.
.使用MIDP2.0开发游戏(4)改进的地.
.编程应用实例:Java通过JNI与Del.
.Java新手入门——整理的SCJP听课.
.将文本格式的文章转换为html/xml.
.Java URL编程.
.如何将BufferedImage实例保存为B.
.Java开发者XML基础(一).
.JDBC基础教程之CallableStatement.
.Javascript实例教程(1) 创建弹出.
.将JAVA编译为EXE的几种方法.
.访问JAR和JAD文件中的属性.
.Java理论与实践:哈希.
.[webservices开发]配置XFire.
.J2ME MIDP 提供的最重要的图形元.
.J2EE应用中,提升数据访问层的性能.
.java学习笔记7--Polymorphism.

在Weblogic上配置Hibernate为JNDI

发表日期:2008-1-5



  一、首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上。单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了。

  我机器上的有个Hibernate的项目,在D:\test\Oracle目录下,该目录下的结构是:

D:\test\oracle\lib 放置hibernate的所有jar包
D:\test\oracle\src 放置源代码
D:\test\oracle\classes 编译好的代码和hibernate的配置文件(hibernate.properties, log4j.properties, cache.ccf)

  现在需要把D:\test\oracle\lib目录下那些jar文件和D:\test\oracle\classes目录都放置到Weblogic的 CLASSPATH里面去,所以修改mydomain里面的Weblogic启动脚本startWeblogic.cmd,在启动Weblogic之前,插入设置CLASSPATH的命令,如下:

@rem set hibernate classpath
set HIBERNATE_LIB=D:\test\oracle\lib
set HIBERNATE_CLASSES=D:\test\oracle\classes
set CLASSPATH=%CLASSPATH%;%HIBERNATE_LIB%\cglib-asm.jar;%HIBERNATE_LIB%\commons-beanutils.jar;
%HIBERNATE_LIB%\commons-collections.jar;%HIBERNATE_LIB%\commons-lang.jar;
%HIBERNATE_LIB%\commons-logging.jar;%HIBERNATE_LIB%\dom4j-full.jar;
%HIBERNATE_LIB%\hibernate2.jar;%HIBERNATE_LIB%\jcs.jar;
%HIBERNATE_LIB%\log4j-1.2.8.jar;%HIBERNATE_LIB%\odmg.jar;
%HIBERNATE_LIB%\jta.jar;%HIBERNATE_CLASSES%;
  下面一行,就是本来脚本里面的启动命令:

@rem Call Weblogic Server
call "C:\bea\weblogic700\server\bin\startWLS.cmd"
  二、在Weblogic上配置 Oracle数据库的连接池。这一步本来和Hibernate无关,但是假如你想要使用EJB,想要使用JTA,那么必须使用Weblogic提供的连接池,而不能使用Hibernate自带的连接池,或者其它第三方连接池,否则容器将无法治理数据库事务。这一步很简单,就是在Weblogic Console里面配置Connection Pool和TxData Source,我的TxDataSource取名称为“mypool”

  三、修改hibernate.properties。使用Weblogic的连接池,而不是自带的连接池。我修改的是D:\test\oracle\classes\hibernate.properties,增加如下行:

hibernate.dialect net.sf.hibernate.dialect.OracleDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
hibernate.session_factory_name hibernate.session_factory
  注重最后一行,这是使用 Hibernate来绑定JNDI给JNDI起的名称,本来应该是hibernate/session_factory,但是Weblogic要求改为. 号,不过在程序中lookup的时候还是要写hibernate/session_factory

  另外提到一点的是

hibernate.jdbc.fetch_size 50
hibernate.jdbc.batch_size 25
  分别对数据库查询和插入有很大的性能影响,调节这两个选项可以得到最好的性能。

  为了保证SessionFactory实例的预创建,使用Weblogic的T3StartUpDef接口创建一个StartUp类,在Weblogic启动的时候运行:

package com.Javaeye;

import java.util.Hashtable;
import weblogic.common.T3StartupDef;
import weblogic.common.T3ServicesDef;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.SessionFactory;

public class HibernateStartUp implements T3StartupDef {

 public void setServices(T3ServicesDef services) {}

 public String startup(String name, Hashtable args) throws Exception {
  SessionFactory sf = new Configuration().configure().buildSessionFactory();
  return "Hibernate Startup completed sUCcessfully";
 }
}
  代码非常简单,其实就是确保预先运行


上一篇:X3D实战基础讲座之十一 人气:575
下一篇:通过Java Swing看透MVC设计模式 人气:857
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐