⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 standardejbeventlistener.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * StandardEJBEventListener.java
 *
 * Created on 2002/03/24, 17:27
 */

package jp.co.intra_mart.framework.base.event;

import java.rmi.RemoteException;
import javax.ejb.EJBException;

import jp.co.intra_mart.framework.system.exception.ApplicationException;
import jp.co.intra_mart.framework.system.exception.SystemException;

/**
 * StandardEJBEventListenerAgent偵愙懕偡傞僀儀儞僩儕僗僫偱偡丅
 *
 * @author INTRAMART
 * @version 1.0
 */
public class StandardEJBEventListener extends EJBEventListener {

    /**
     * 儂乕儉僀儞僞僼僃乕僗StandardEJBEventListenerAgentHome
     */
    private StandardEJBEventListenerAgentHome home;

    /**
     * StandardEJBEventListener傪怴婯偵惗惉偟傑偡丅
     *
     * @param home 儂乕儉僀儞僞僼僃乕僗{@link StandardEJBEventListenerAgentHome}
     */
    public StandardEJBEventListener(StandardEJBEventListenerAgentHome home) {
        super();
        this.home = home;
    }

    /**
     * 張棟傪幚峴偟傑偡丅
     * 僀儀儞僩傪尦偵張棟傪幚峴偟傑偡丅
     * 偙偺僀儞僞僼僃乕僗傪幚憰偡傞偡傋偰偺僋儔僗偼丄
     * 偡傋偰偺僀儀儞僩僩儕僈傪幚峴偟偨屻偵張棟傪
     * 幚峴偡傞傛偆偵愝寁偝傟偰偄傞昁梫偑偁傝傑偡丅
     *
     * @param event 僀儀儞僩
     * @return 僀儀儞僩張棟寢壥
     * @throws ApplicationException 僀儀儞僩張棟帪偵傾僾儕働乕僔儑儞椺奜偑敪惗
     * @throws SystemException 僔僗僥儉張棟帪偵傾僾儕働乕僔儑儞椺奜偑敪惗
     */
    public EventResult execute(Event event) throws SystemException, ApplicationException {
        StandardEJBEventListenerAgent agent = null;
        EventResult result = null;

        // 儕儌乕僩僀儞僞僼僃乕僗偺庢摼
        try {
            agent = this.home.create();
        } catch (Exception e) {
            throw new SystemException(e.getMessage(), e);
        }

        // 張棟偺幚峴
        try {
            result = agent.execute(event);
        } catch (ApplicationException e) {
            throw e;
        } catch (SystemException e) {
            throw e;
        } catch (EJBException e) {
            Exception ex = e.getCausedByException();
            if (ex == null) {
                throw new SystemException(e.getMessage(), e);
            } else if (ex instanceof SystemException) {
                throw (SystemException)ex;
            } else if (ex instanceof ApplicationException) {
                throw (ApplicationException)ex;
            } else {
                throw new SystemException(ex.getMessage(), ex);
            }
        } catch (RemoteException e) {
            Throwable ex = e.detail;
            if (ex == null) {
                throw new SystemException(e.getMessage(), e);
            } else if (ex instanceof SystemException) {
                throw (SystemException)ex;
            } else if (ex instanceof ApplicationException) {
                throw (ApplicationException)ex;
            } else if (ex instanceof EJBException) {
                Exception causedByException = ((EJBException)ex).getCausedByException();
                if (causedByException == null) {
                    throw new SystemException(ex.getMessage(), ex);
                } else if (causedByException instanceof SystemException) {
                    throw (SystemException)causedByException;
                } else if (causedByException instanceof ApplicationException) {
                    throw (ApplicationException)causedByException;
                } else {
                    throw new SystemException(causedByException.getMessage(), causedByException);
                }
            } else {
                throw new SystemException(ex.getMessage(), ex);
            }
        }

        return result;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -