hibernate+struts1.1+weblogic8+JBuilder2005的開發環境的配置

holyadai發表於2004-11-18
開發時的環境配置如下:
寫一個啟動類載入和繫結hibernate的sessionfactory到weblogic下
程式碼如下:
public class HibernateStartUp implements T3StartupDef {



public static String CONFIG_FILE_PATH = "/hibernate.cfg.xml";

public void setServices(T3ServicesDef services) {}
public static final String SESSION_FACTORY_JNDI = "hibernate";
public static final String URL = "t3://localhost:7001";
public String startup(String name, Hashtable args) throws Exception {
try {

doBind();
return "Hibernate Startup completed successfully";
} catch (Exception e) {

}
return "Hibernate Startup completed successfully";
}
private static void doBind( ) throws Exception
{
Properties environment = null;
InitialContext context = null;

try
{
environment = new Properties( );
environment.put(

Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
environment.put( Context.PROVIDER_URL, URL );
context = new InitialContext( environment );


Configuration configuration = (new Configuration()).configure(CONFIG_FILE_PATH);
SessionFactory factory = configuration.buildSessionFactory();
if (factory == null)
throw new Exception("SessionFactory cannot be built?!");

try
{
if( context.lookup("hibernate")!= null )
{
context.rebind("hibernate", factory);
}
else
{
context.bind("hibernate", factory);
}
}
catch ( NamingException nameEx )
{
nameEx.printStackTrace();
context.bind("hibernate", factory );
}
}
catch ( NamingException nameExp )
{
throw new Exception( "NamingException: " + nameExp.getMessage( ));
}
catch( Exception excp )
{
throw excp;
}

}

static private InitialContext getInitialContext() throws Exception {
String url = "t3://localhost:7001";

Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,

"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
return new InitialContext(properties);
}
catch(Exception e) {
logger.fatal("Unable to connect to WebLogic server at " + url);
logger.fatal("Please make sure that the server is running.");
throw e;
}
}
}
然後編譯
在Jbuilder2005的Configserver下的calsspath下面加入這個類的所在路徑,我的是

C:\work\overstock\classes
然後把hibernate用到的jar檔案也加入,就可以開發了。

部署的時候只要把這些路徑加入到domain的startWebLogic.cmd中就可以,不過要把

C:\work\overstock\classes中的類打成jar包再加,要不weblogic會找不到的。

參考文章:http://www.hibernate.org/120.html

相關文章