• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    EJB訪問Weblogic用T3

    發布: 2007-6-21 16:03 | 作者:   | 來源:   | 查看: 133次 | 進入軟件測試論壇討論

    領測軟件測試網

       

    CCCCCC">



    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;
    }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>