Weblogic81和Hibernate 的集成问题

来源:互联网 发布:selectize.js api 编辑:程序博客网 时间:2024/05/10 11:23
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  费了一天,终于搞定了HibernateWeblogic81的集成安装问题。网上资料或多或少涉及到了,但都不完整、详细。本文参考了 java视线论坛版主的文章和Hibernate网站的文章撰写了本文,希望能对各位Hibernate初学者能有所帮助。

  假设你的工程是D:/testprj;D/testprj/lib存放所有的Hibernate的lib下的jar文件;D;/testprj/classes存放所有的class文件,特别包括一Weblogic启动类编写的专用于建立Hibernate的sessionfactory的class文件,还有Hibernate.propties、log4j.properties、cache.ccf、oscache.properties四个配置文件;

  D:/bea/Weblogic81

  1.首先第一步是修改配置Weblogic启动环境,添加Hibernate的lib和class目录到Weblogic的classpath环境中,具体做法是:

  找到 D:/bea/user_projects/domains/mydomain/startWeblogic.cmd,添加如下红色字体代码到文件中:

 

  set SERVER_NAME=caserver

  set CLASSPATH=%Weblogic_CLASSPATH%;%POINTBASE_CLASSPATH%;

  %JAVA_HOME%/jre/lib/rt.jar;%WL_HOME%/server/lib/webservices.jar;%CLASSPATH%

  @rem set Hibernate classpath

  set Hibernate_LIB=D/testprj/lib

  set Hibernate_CLASSES=D/testprj/classes

  set CLASSPATH=%Hibernate_LIB%/cglib-asm.jar;%Hibernate_LIB%/cglib-full-2.0.1.jar;%Hibernate_LIB%/ehcache-0.7.jar;%Hibernate_LIB%/commons-beanutils.jar;%Hibernate_LIB%/commons-logging-1.0.3.jar;%Hibernate_LIB%/commons-collections-2.1.jar;%Hibernate_LIB%/commons-lang.jar;%Hibernate_LIB%/commons-logging.jar;%Hibernate_LIB%/dom4j-full.jar;%Hibernate_LIB%/jcs.jar;%Hibernate_LIB%/log4j-1.2.8.jar;%Hibernate_LIB%/odmg.jar;%Hibernate_LIB%/dom4j-1.4.jar;%Hibernate_LIB%/Hibernate2.jar;%Hibernate_CLASSES%;%CLASSPATH%

  @REM Call Weblogic Server

  注意到网上有的网友同样添加jar文件后可能有空格或换行符,出现了用winrar和Weblogic不能正常启动的现象,所以最好set CLASSPATH这一行一定要一行写完,同样jar文件名一定要和Hibernate 的jar文件一致,否者,最后Weblogic启动时候,会出现找不到什么class not found的现象。

  2.利用Weblogic的console配置一个jdbc pool,我采用的数据库是sybase,以及一个datasource,datasource当然要用开头的jdbc pool,我们假设它的jndi名称为misdb。

  3.修改Hibernate的配置文件,Hibernate的配置文件有两个Hibernate.propties和Hibernate.cfg.xml,前一个是Hibernate启动后调用缺省初始化环境文件,后一个是可动态调整,比如说添加数据表的映射文件等等,如何添加的代码,网上可以找的到,我这里就不重复了,两个配置文件有一个就可以了,在初始化Hibernate,将Hibernate帮定到Weblogic的jndi,我们可以在第四步的Weblogic启动类源代码中说明。

  Hibernate.propties文件配置文件配置比较简单,而且数据库的参数,很多都已经用注释写好了。真是太cool了。

  这里我们要用Weblogic的数据源misdb.

  修改添加如下代码,切记,一定保证下面代码唯一啊。

 

  ## HypersonicSQL

  #Hibernate.dialect net.sf.Hibernate.dialect.HSQLDialect

  #Hibernate.connection.driver_class org.hsqldb.jdbcDriver

  #Hibernate.connection.username sa

  #Hibernate.connection.password

  #Hibernate.connection.url jdbc:hsqldb:hsql://localhost

  #Hibernate.connection.url jdbc:hsqldb:test

  #Hibernate.connection.url jdbc:hsqldb:.

  绿色代码一定要注释掉,用#符号

 

  Hibernate.dialect net.sf.Hibernate.dialect.SybaseDialect

  Hibernate.connection.datasource misdb

  Hibernate.connection.provider_class net.sf.Hibernate.connection.DatasourceConnectionProvider

  Hibernate.session_factory_name Hibernate.session_factory

  Hibernate.jdbc.fetch_size 50

  Hibernate.jdbc.batch_size 25

  红色代码添加入,注意可能后面也有相应的参数配置,记住注释掉

  放心,附件会附代码的

  okay.文件配置完毕,记住要在d:/testprj/classes目录下;

  4.编写Weblogic启动类源程序,没办法,因为Weblogic特殊,只能这样建立Hibernate 的sessionfactory,为什么,因为下面这句

  the JNDI implementation in Weblogic Server does not appear to support the Referenceable interface, and exhibits some rather strange behaviour when binding Serializable objects.

  代码关键两句是

 

  Configuration cfg = new Configuration();

  SessionFactory factory = cfg.buildSessionFactory();

  网上有些文章到不是不对,有的是直接映射了对象类,比如说cat类了,有的是用

 

  configuration cfg = new configuration().configure();

  记住此时就是用Hibernate.cfg.xml 文件配置。

  我觉得我这两句最简单,直接调用了Hibernate.propties的参数;代码能,下面也有,编译的时候一定要用ant编译,如何配置ant,网上很多文章都有提到,我就不多说了。将WLSstartup.java放到D:/Hibernate21/src/net/sf/Hibernate下,然后在命令行下用ant或者运行build.bat批处理文件,编译后的WlSstartup.class大概在D:/Hibernate21/build目录下,然后copy到d:/testprj/classes

  okay,完毕

  5.就是将WlSstartup类在Weblogic的console中配置好,怎么配,robbin的文章或者Weblogic的随便那个管理配置的文章都有,我这里就不提了。

  好的,所有注意事项步骤完毕,启动你的Weblogic吧。应该是正常的信息,只要你按照我的步骤做,没问题的。

  有什么问题,可以留言 我的blog或者http://gispda.blogdirver.com或者email给我 gispda@163.com。

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击