hibernate+struts1.1+weblogic8+JBuilder2005的开发环境的配置

04-11-18 holyadai

开发时的环境配置如下:

写一个启动类加载和绑定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

banq
2004-11-20 22:50

好文章,顶一下表示支持。