EJB访问Weblogic用T3

来源:互联网 发布:淘宝怎么给卖家留言 编辑:程序博客网 时间:2024/05/29 13:59
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
package com.newmodern.etm.utility;/** * Title: * Description: * Copyright:    Copyright (c) 2001 * Company: newmodern * @author Colin * @version 1.0 */import java.util.*;import javax.naming.*;import javax.ejb.*;import javax.rmi.PortableRemoteObject;import javax.sql.*;import java.sql.*;public class EJBUtil {    private static Context context = null;    private static final String url = "t3://localhost:7001";    private static final String JDBC_JNDI = "jdbc/XAOracle";    public static Object getEJBHome(String lookupName, Class homeClass) {        try {            if (context==null) {                context = getInitialContext();            }            Object home = PortableRemoteObject.narrow(                                context.lookup(lookupName),                                homeClass);            return home;        } catch (NamingException ne) {            throw new EJBException(ne.getMessage());        }    }    public static Connection getConnection(String lookupName) {        try {            if (context==null) {                context = getInitialContext();            }            DataSource ds = (DataSource)PortableRemoteObject.narrow(                                context.lookup(lookupName),                                DataSource.class);            return ds.getConnection();        } catch (NamingException ne) {            throw new EJBException(ne.getMessage());        } catch (SQLException e) {            throw new EJBException(e.getMessage());        }    }    public static Connection getConnection() {        try {            if (context==null) {                context = getInitialContext();            }            DataSource ds = (DataSource)PortableRemoteObject.narrow(                                context.lookup(JDBC_JNDI),                                DataSource.class);            return ds.getConnection();        } catch (NamingException ne) {            throw new EJBException(ne.getMessage());        } catch (SQLException e) {            throw new EJBException(e.getMessage());        }    }    private static Context getInitialContext() throws NamingException {        try {          Properties h = new Properties();          h.put(Context.INITIAL_CONTEXT_FACTORY,              "weblogic.jndi.WLInitialContextFactory");          h.put(Context.PROVIDER_URL, url);          return new InitialContext(h);        } catch (NamingException ne) {            throw ne;        }    }}
我们可以用下面方式调用该类:lookup找Home:
    public void insertCategory(String codeSubscriber, String systemUsed,        String codeCategory, String codeCategoryGroup, String categoryDesc,        String actionBy, Timestamp newTimestamp)        throws ETMDataAccessException, ETMDataAlreadyExistsException {            try {                CategoryHome home =(CategoryHome)EJBUtil.getEJBHome(                "MyMasterCategory",CategoryHome.class);                home.create(codeSubscriber, systemUsed, codeCategory,                codeCategoryGroup, categoryDesc, actionBy, newTimestamp);            } catch (DuplicateKeyException e) {                throw new ETMDataAlreadyExistsException();            } catch (RemoteException e) {                throw new ETMDataAccessException(e);            } catch (CreateException e) {                throw new ETMDataAccessException(e);            }    }    String subscriberSql = "Select code_subscriber, subscriber_name "          "From subscriber Where status = 'A' ";    public Collection getSubscriberList() throws ETMDataAccessException {        Connection con = null;        PreparedStatement pStmt = null;        ResultSet res = null;        SubscriberEntity subscriber = null;        Collection page = new ArrayList();        try {           //getConnection();            con = EJBUtil.getConnection("jdbc/XAOracle");            pStmt = con.prepareStatement(subscriberSql);            SystemLogger.getInstance().logDebug("SQL:" subscriberSql "<-START->");            res = pStmt.executeQuery();            SystemLogger.getInstance().logDebug("SQL:" subscriberSql "<-END->");            while (res.next()) {                subscriber = new SubscriberEntity(                    res.getString("code_subscriber"),                    res.getString("subscriber_name"));                page.add(subscriber);            }        } catch (SQLException e) {            throw new ETMDataAccessException(e);        } finally {           if (res != null) {               try {                   res.close();               } catch (Exception e) {}           }            if (pStmt != null) {                try {                    pStmt.close();                } catch (Exception e) {}            }            if (con != null) {                try {                    con.close();                    con = null;                } catch (Exception e) {}            }        }        return page;    }
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 北野望42部在线播放 英寸等于多少厘米 42名主播被禁封5年 波多野吉衣在线播放 清纯唯美页 婴儿42秒快速入睡法 42式太极拳 霍景辞容樘42章 转让42米蓝牌货车一部 日本页码数 42天产后复查都查什么 42天产后复查查什么 珠海42路公交线路 南宁42路公交路线 芜湖42路公交路线 42太极拳 房42路公交车路线 42路公交路线 海口42路车路线 42路公交车路线时间表 42是什么意思 株洲42路公交车路线 大连42路公交线路 4.2 42路公交车路线图 南宁42路公交车路线 南京42路公交线路 42式太极拳分解教学 42式太极剑 常德42路公交路线 成都42路公交线路 泉州42路公交车路线 洛阳42路公交车路线 大同42路公交路线 唐山42路公交路线 42路公交车 深圳公交42 42路公交车路线 南宁42路 大连42路 北京42路