struts1.1+weblogic7.0+hibernate2.02的問題
我將SessionFactory bind到wls的jndi樹上,在web層(struts的plugin中)可以lookup到,但在ejb層卻loopup 不到,我的程式碼如下:
//將 SessionFactory繫結到wls的jndi上
private static void initSessionFactory() throws HibernateException{
SessionFactory sf = new Configuration().configure().buildSessionFactory();
try {
if (context == null) {
context = getInitialContext();
}
context.bind(GlobalNames.SESSION_FACTORY, sf);
}
catch (NamingException ex) {
System.out.println("init SessionFactory failed! ");
}
}
//這個方法使用weblogic的datasource,來返回session
public static Session getSession() throws HibernateException {
Connection conn = null;
SessionFactory factory = null;
try {
conn = DBUtil.getConnection();
}
catch (NoConnectionException ex) {
}
try {
if (context == null) {
context = getInitialContext();
}
factory = (SessionFactory) context.lookup(GlobalNames.SESSION_FACTORY);
}
catch (NamingException ex1) {
}
if(factory == null)
System.out.println("Can't lookup SessionFactory form jndi tree");
Session session = factory.openSession(conn);
return session;
}
//在struts的plugin中用上述的getSession方法是可以lookup到的,也可以返回session
private void initSF() {
NJSSSF sf = new NJSSSF();
try {
sf.init();
Session s1 = sf.getSession();
System.out.println("get session from plugin :(1)- " + s1.toString());
s1.close();
}
catch (HibernateException ex) {
if(GlobalNames.DEBUG_OUTPUT_FLAG){
System.out.println(ex.toString());
}
}
}
但在ejb層用getSession()方法卻找不到繫結在wls jndi 上的SessionFactory,但卻可以lookup到ejb,請高手指教?
//將 SessionFactory繫結到wls的jndi上
private static void initSessionFactory() throws HibernateException{
SessionFactory sf = new Configuration().configure().buildSessionFactory();
try {
if (context == null) {
context = getInitialContext();
}
context.bind(GlobalNames.SESSION_FACTORY, sf);
}
catch (NamingException ex) {
System.out.println("init SessionFactory failed! ");
}
}
//這個方法使用weblogic的datasource,來返回session
public static Session getSession() throws HibernateException {
Connection conn = null;
SessionFactory factory = null;
try {
conn = DBUtil.getConnection();
}
catch (NoConnectionException ex) {
}
try {
if (context == null) {
context = getInitialContext();
}
factory = (SessionFactory) context.lookup(GlobalNames.SESSION_FACTORY);
}
catch (NamingException ex1) {
}
if(factory == null)
System.out.println("Can't lookup SessionFactory form jndi tree");
Session session = factory.openSession(conn);
return session;
}
//在struts的plugin中用上述的getSession方法是可以lookup到的,也可以返回session
private void initSF() {
NJSSSF sf = new NJSSSF();
try {
sf.init();
Session s1 = sf.getSession();
System.out.println("get session from plugin :(1)- " + s1.toString());
s1.close();
}
catch (HibernateException ex) {
if(GlobalNames.DEBUG_OUTPUT_FLAG){
System.out.println(ex.toString());
}
}
}
但在ejb層用getSession()方法卻找不到繫結在wls jndi 上的SessionFactory,但卻可以lookup到ejb,請高手指教?
相關文章
- nohup的問題
- 稅的問題
- CUDA的問題
- iptables的問題
- slice 的問題
- 專案中常問的問題
- 遇到的編碼問題、時區問題整理
- 《扶蘇的問題》題解
- Troubleshooting 專題 - 問正確的問題 得到正確的答案
- 請教個問題執行 httprunner 遇到的問題HTTP
- 揹包問題的一道經典問題
- 請問一個 authorize的問題
- vue的SEO問題Vue
- linux遇到的問題Linux
- webpack碰到的問題Web
- Vagrant 遇到的問題
- tensorflow saver的問題
- Homestead 遇到的問題
- bcadd 的精度問題?
- sudo 遇到的問題
- 快取的問題快取
- flutter的代理問題Flutter
- @Value失效的問題
- JackJson遇到的問題JSON
- mysql 遇到的問題MySql
- WangEditor遇到的問題
- 15.1 問題的提出
- javascript的this指向問題JavaScript
- Redis中的問題Redis
- 問題 C: 百雞問題
- 【問題】Nacos 使用問題整理
- 什麼是P問題、NP問題和NPC問題
- 兩個小問題深入淺出List的效能問題
- 博基計劃(3)---P問題、NP問題、NPC問題、NP-hard問題
- 解決 github 訪問不了的問題Github
- Laravel 訪問器 $appends 忽略的問題LaravelAPP
- 解決github訪問慢的問題Github
- [問題貼] 如何解決獲取到的 toast 的文字為空的問題?AST
- vue 元件(component)命名的小細節問題(大小寫問題)Vue元件