﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JAVA涂鸦-文章分类-Web Servers</title><link>http://www.blogjava.net/rickhunter/category/3805.html</link><description>关于JAVA的点点滴滴</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 17:49:33 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 17:49:33 GMT</pubDate><ttl>60</ttl><item><title>配置Weblogic9.0</title><link>http://www.blogjava.net/rickhunter/articles/25479.html</link><dc:creator>千山鸟飞绝</dc:creator><author>千山鸟飞绝</author><pubDate>Mon, 26 Dec 2005 10:32:00 GMT</pubDate><guid>http://www.blogjava.net/rickhunter/articles/25479.html</guid><wfw:comment>http://www.blogjava.net/rickhunter/comments/25479.html</wfw:comment><comments>http://www.blogjava.net/rickhunter/articles/25479.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/rickhunter/comments/commentRss/25479.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rickhunter/services/trackbacks/25479.html</trackback:ping><description><![CDATA[初次使用Weblogic，需要对其进行域的配置。现在我就图解说明怎样配置Weblogic9.0<br><br><hr size="2" width="100%"><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic1.jpg" alt="weblogic1.jpg" border="0" height="66" width="672"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic2.jpg" alt="weblogic2.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic3.jpg" alt="weblogic3.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic4.jpg" alt="weblogic4.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic9.jpg" alt="weblogic9.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic10.jpg" alt="weblogic10.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic7.jpg" alt="weblogic7.jpg" border="0" height="559" width="780"><br><br><img src="http://www.blogjava.net/images/blogjava_net/rickhunter/weblogic/weblogic8.jpg" alt="weblogic8.jpg" border="0" height="559" width="780"><br><br><br><img src ="http://www.blogjava.net/rickhunter/aggbug/25479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rickhunter/" target="_blank">千山鸟飞绝</a> 2005-12-26 18:32 <a href="http://www.blogjava.net/rickhunter/articles/25479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转贴]Weblogic server 8.1 如何集成 hibernate3.0</title><link>http://www.blogjava.net/rickhunter/articles/15179.html</link><dc:creator>千山鸟飞绝</dc:creator><author>千山鸟飞绝</author><pubDate>Mon, 10 Oct 2005 14:35:00 GMT</pubDate><guid>http://www.blogjava.net/rickhunter/articles/15179.html</guid><wfw:comment>http://www.blogjava.net/rickhunter/comments/15179.html</wfw:comment><comments>http://www.blogjava.net/rickhunter/articles/15179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rickhunter/comments/commentRss/15179.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rickhunter/services/trackbacks/15179.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 转贴自CSDN的Java论坛。本人用于以后学习，还没有实现过。<br>
<br>
&nbsp;&nbsp;&nbsp; 如何在 Weblogic server 8.1 如何集成 hibernate3.0啊，我采用的架构是用会话EJB去访问hibernate<br>
实现对数据库的操作，我在发布EJB时，提示找不到 hibernate相关类！<br>
<br>
&nbsp;&nbsp;&nbsp; 首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上。单单这一步就有很多人很迷茫，其实去 <br>
<br>
&nbsp;&nbsp;&nbsp; 仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd，我想大部分人都知道该怎么配置了。 <br>
<br>
&nbsp;&nbsp;&nbsp; 我机器上的有个Hibernate的项目，在\test\oracle目录下，该目录下的结构是： <br>
<br>
&nbsp;&nbsp;&nbsp; \test\oracle\lib 放置hibernate的所有jar包 <br>
&nbsp;&nbsp;&nbsp; \test\oracle\src 放置源代码 <br>
&nbsp;&nbsp;&nbsp; \test\oracle\classes 编译好的代码和hibernate的配置文件(hibernate.properties, log4j.properties, cache.ccf) <br>
<br>
&nbsp;&nbsp;&nbsp;
现在需要把\test\oracle\lib目录下那些jar文件和\test\oracle\classes目录都放置到Weblogic的
CLASSPATH里面去，所以修改mydomain里面的Weblogic启动脚本startWeblogic.cmd，在启动Weblogic之前，
插入设置CLASSPATH的命令，如下： <br>
<br>
&nbsp;&nbsp;&nbsp; @rem set hibernate classpath <br>
&nbsp;&nbsp;&nbsp; set HIBERNATE_LIB=\test\oracle\lib <br>
&nbsp;&nbsp;&nbsp; set HIBERNATE_CLASSES=\test\oracle\classes <br>
&nbsp;&nbsp;&nbsp; set CLASSPATH=%HIBERNATE_LIB%\cglib-asm.jar;%HIBERNATE_LIB%\commons-beanutils.jar; <br>
&nbsp;&nbsp;&nbsp; %HIBERNATE_LIB%\commons-collections.jar;%HIBERNATE_LIB%\commons-lang.jar; <br>
&nbsp;&nbsp;&nbsp; %HIBERNATE_LIB%\commons-logging.jar;%HIBERNATE_LIB%\dom4j-full.jar; <br>
&nbsp;&nbsp;&nbsp; %HIBERNATE_LIB%\hibernate2.jar;%HIBERNATE_LIB%\jcs.jar; <br>
&nbsp;&nbsp;&nbsp; %HIBERNATE_LIB%\log4j-1.2.8.jar;%HIBERNATE_LIB%\odmg.jar; <br>
&nbsp;&nbsp;&nbsp; %HIBERNATE_CLASSES%;%CLASSPATH% <br>
<br>
&nbsp;&nbsp;&nbsp; 下面一行，就是本来脚本里面的启动命令： <br>
<br>
&nbsp;&nbsp;&nbsp; @rem Call Weblogic Server <br>
&nbsp;&nbsp;&nbsp; call "\bea\weblogic700\server\bin\startWLS.cmd" <br>
<br>
&nbsp;&nbsp;&nbsp; 在Weblogic上配置
Oracle数据库的连接池。这一步本来和Hibernate无关，但是如果你想要使用EJB，想要使用JTA，那么必须使用
Weblogic提供的连接池，而不能使用Hibernate自带的连接池，或者其它第三方连接池，否则容器将无法管理数据库事务。这一步很简单，就
是在Weblogic Console里面配置Connection Pool和TxData
Source，我的TxDataSource取名称为“mypool”
修改hibernate.properties。使用Weblogic的连接池，而不是自带的连接池。我修改的是\test\oracle\
classes\hibernate.properties ，增加如下行： <br>
<br>
&nbsp;&nbsp;&nbsp; hibernate.dialect net.sf.hibernate.dialect.OracleDialect <br>
&nbsp;&nbsp;&nbsp; hibernate.connection.datasource mypool <br>
&nbsp;&nbsp;&nbsp; hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider <br>
&nbsp;&nbsp;&nbsp; hibernate.session_factory_name hibernate.session_factory <br>
<br>
&nbsp;&nbsp;&nbsp; 注意最后一行，这是使用
Hibernate来绑定JNDI给JNDI起的名称，本来应该是hibernate/session_factory，但是Weblogic要求改为.
号，不过在程序中lookup的时候还是要写hibernate/session_factory <br>
<br>
&nbsp;&nbsp;&nbsp; 另外提到一点的是 <br>
<br>
&nbsp;&nbsp;&nbsp; hibernate.jdbc.fetch_size 50 <br>
&nbsp;&nbsp;&nbsp; hibernate.jdbc.batch_size 25 <br>
<br>
&nbsp;&nbsp;&nbsp; 分别对数据库查询和插入有很大的性能影响，调节这两个选项可以得到最好的性能。 <br>
<br>
&nbsp;&nbsp;&nbsp; 为了保证SessionFactory实例的预创建，使用Weblogic的T3StartUpDef接口创建一个StartUp类，在Weblogic启动的时候运行： <br>
<br>
&nbsp;&nbsp;&nbsp; package com.fankai; <br>
<br>
&nbsp;&nbsp;&nbsp; import java.util.Hashtable; <br>
&nbsp;&nbsp;&nbsp; import weblogic.common.T3StartupDef; <br>
&nbsp;&nbsp;&nbsp; import weblogic.common.T3ServicesDef; <br>
&nbsp;&nbsp;&nbsp; import net.sf.hibernate.cfg.Configuration; <br>
&nbsp;&nbsp;&nbsp; import net.sf.hibernate.SessionFactory; <br>
<br>
&nbsp;&nbsp;&nbsp; public class HibernateStartUp implements T3StartupDef { <br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void setServices(T3ServicesDef services) {} <br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public String startup(String name, Hashtable args) throws Exception { <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Configuration conf = new Configuration().addClass(Cat.class); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SessionFactory sf = conf.buildSessionFactory(); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return "Hibernate Startup completed successfully"; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } <br>
&nbsp;&nbsp;&nbsp; } <br>
<br>
&nbsp;&nbsp;&nbsp; 代码非常简单，其实就是确保预先运行 <br>
<br>
&nbsp;&nbsp;&nbsp; Configuration conf = new Configuration().addClass(Cat.class); <br>
&nbsp;&nbsp;&nbsp; SessionFactory sf = conf.buildSessionFactory(); <br>
<br>
&nbsp;&nbsp;&nbsp; 把sf创建出来，而Hibernate会自行调用一系列类方法，把sf绑定到Weblogic的的JNDI树下的hibernate/session_factory路径中。 <br>
<br>
&nbsp;&nbsp;&nbsp; 4、编译HibernateStartUp.java <br>
<br>
&nbsp;&nbsp;&nbsp;
编译这个源代码的时候需要注意的是，要把weblogic.jar包和Hibernate所有的相关包和配置文件导入。我是把这个源代码放到\test\
oracle\src目录下的，用早已编写好的ant脚本运行一下就编译好了，并且编译好的
class文件被放置到\test\oracle\classes目录下，该目录已经被加入到Weblogic的CLASSPATH里面，因此很省事。
<br>
<br>
&nbsp;&nbsp;&nbsp; 配置StartUp类 <br>
<br>
&nbsp;&nbsp;&nbsp; 启动Weblogic，打开Console控制台，在左边的Applet树上找到StartUp &amp;
Shutdown，然后在右边点击“Configure a new Startup
Class...”，在Name框里面随便填写，在ClassName里面填写你编写的StartUp类，我填写的是
com.fankai.WLSStartup，然后点击“Apply”。然后切换到Target这选项卡，在Target-Server左边的
Avaiable框里面选择“myserver”，点击右箭头，把它挪到右边的“Chosen”框里面去，最后再点击一下“Apply"按钮。如果此时
Weblogic的DOS窗口里面没有出错信息，那么应该已经配置成功了。 <br>
<br>
&nbsp;&nbsp;&nbsp; 现在关闭Weblogic，再重新运行
startWelogic.cmd，启动Weblogic，观察DOS窗口的输出信息，可以看到Hibernate的初始化信息一屏屏的滚动输出，证明已
经配置成功。现在再打开Console控制台，点击左边Applet树中的Servers|myserver，然后可以在右边最下面找到“View
JNDI tree
”，点击它，会打开一个浏览器窗口，显示JNDI树，这时你可以看到一个名称为hibernate的JNDI对象，在左边的Applet树中点击
它，看右边的详细信息，我的机器上的信息如下： <br>
<br>
&nbsp;&nbsp;&nbsp; Bind Name: hibernate <br>
&nbsp;&nbsp;&nbsp; Object Class: net.sf.hibernate.impl.SessionFactoryImpl <br>
&nbsp;&nbsp;&nbsp; Object Hash Code: 454492 <br>
&nbsp;&nbsp;&nbsp; Object To String: net.sf.hibernate.impl.SessionFactoryImpl@6ef5c <br>
<br>
&nbsp;&nbsp;&nbsp; 完全正确！ <br>
<br>
&nbsp;&nbsp;&nbsp; 最后你可以随意在EJB或者Servlet/JSP里面使用JND查找来获得SessionFactory了。 <br>
<br>
&nbsp;&nbsp;&nbsp; 例如： <br>
<br>
&nbsp;&nbsp;&nbsp; Context ctx = new InitialContext(); <br>
&nbsp;&nbsp;&nbsp; SessionFactory sf = (SessionFactory) ctx.lookup("hibernate/session_factory"); <br>
<br>
&nbsp;&nbsp;&nbsp; 在其它App Server上如何配置，本质上和Weblogic是一样的，只是你要确保在其它程序运行之前，先把 <br>
<br>
&nbsp;&nbsp;&nbsp; Configuration conf = new Configuration().addClass(Cat.class); <br>
&nbsp;&nbsp;&nbsp; SessionFactory sf = conf.buildSessionFactory(); <br>
<br>
&nbsp;&nbsp;&nbsp; 这两行代码运行一遍就OK了<img src ="http://www.blogjava.net/rickhunter/aggbug/15179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rickhunter/" target="_blank">千山鸟飞绝</a> 2005-10-10 22:35 <a href="http://www.blogjava.net/rickhunter/articles/15179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>