当前位置:首页 > 全部子站 > IT > 思科认证

在Weblogic上配置Hibernate为JNDI

来源:长理培训发布时间:2017-12-22 10:24:27

 百度广告

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

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

D:"test"Oracle"lib 放置hibernate的所有jar包
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_CLASSES=D:"test"Oracle"classes
%HIBERNATE_LIB%"commons-collections.jar;%HIBERNATE_LIB%"commons-lang.jar;
%HIBERNATE_LIB%"hibernate2.jar;%HIBERNATE_LIB%"jcs.jar;
%HIBERNATE_LIB%"jta.jar;%HIBERNATE_CLASSES%;

 

@rem Call Weblogic Server

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

 

hibernate.dialect net.sf.hibernate.dialect.OracleDialect
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider

  另外提到一点的是

 

hibernate.jdbc.fetch_size 50

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

 

package com.Javaeye;

import Java.util.Hashtable;
import weblogic.common.T3ServicesDef;
import net.sf.hibernate.sessionFactory;

public class HibernateStartUp implements T3StartupDef {

 public void setServices(T3ServicesDef services) {}

 public String startup(String name, Hashtable args) throws Exception {
return "Hibernate Startup completed successfully";
}


 

SessionFactory sf = new Configuration().configure().buildsessionFactory();

  4、编译HibernateStartUp.Java

  编译这个源代码的时候需要注意的是,要把weblogic.jar包和Hibernate所有的相关包和配置文件导入。我是把这个源代码放到D:"test"oracle"src目录下的,用早已编写好的ant脚本运行一下就编译好了,并且编译好的 class文件被放置到D:"test"Oracle"classes目录下,该目录已经被加入到Weblogic的CLASSPATH里面,因此很省事。

  五、配置StartUp类

  启动Weblogic,打开Console控制台,在左边的Applet树上找到StartUp & Shutdown,然后在右边点击"Configure a new Startup Class...",在Name框里面随便填写,在ClassName里面填写你编写的StartUp类,我填写的是 com.Javaeye.HibernateStartUp,然后点击"Apply"。然后切换到Target这选项卡,在Target-Server左边的 Avaiable框里面选择"myserver",点击右箭头,把它挪到右边的"Chosen"框里面去,最后再点击一下"Apply"按钮。如果此时 Weblogic的DOS窗口里面没有出错信息,那么应该已经配置成功了。

  六、现在关闭Weblogic,再重新运行 startWelogic.cmd,启动Weblogic,观察DOS窗口的输出信息,可以看到Hibernate的初始化信息一屏屏的滚动输出,证明已经配置成功。现在再打开Console控制台,点击左边Applet树中的Servers|myserver,然后可以在右边最下面找到"View JNDI tree ",点击它,会打开一个浏览器窗口,显示JNDI树,这时你可以看到一个名称为hibernate的JNDI对象,在左边的Applet树中点击它,看右边的详细信息,我的机器上的信息

 

Bind Name: hibernate
Object Hash Code: 454492

  最后你可以随意在EJB或者Servlet/JSP里面使用JND查找来获得sessionFactory了。

  例如:

 

Context ctx = new InitialContext();

  与此不同的是,WebLogic本身的DataSource,EJB,JMS等等都是支持RMI的(前提条件是WebLogic相应的jar要有),所以你可以在WebLogic外面lookup,并且使用它。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部