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

📄 genericejbeventlisteneragentbean.java

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

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

import jp.co.intra_mart.framework.system.log.LogConstant;
import jp.co.intra_mart.framework.system.log.LogManager;

import javax.ejb.EJBException;

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

/**
 * EJB傪棙梡偡傞斈梡揑側僀儀儞僩儕僗僫乕偺Bean偱偡丅
 *
 * @author INTRAMART
 * @version 1.0
 */
public class GenericEJBEventListenerAgentBean
    extends EJBEventListenerAgentBean {

    /**
     * GenericEJBEventListenerAgentBean傪怴婯偵惗惉偟傑偡丅
     */
    public GenericEJBEventListenerAgentBean() {
        super();
    }

    /**
     * 儂乕儉僀儞僞僼僃乕僗偺堷悢側偟偺create()儊僜僢僪偵懳墳偟傑偡丅
     */
    public void ejbCreate() {
    }

    /**
     * 僀儀儞僩張棟傪幚峴偟傑偡丅
     * listenerName偼{@link StandardEventListener}傪宲彸偟偨僋儔僗偱偁傝丄堷悢傪帩偨側偄僐儞僗僩儔僋僞偑懚嵼偡傞昁梫偑偁傝傑偡丅
     *
     * @return 僀儀儞僩張棟寢壥
     * @param event 僀儀儞僩
     * @param listenerName 儕僗僫乕偺僋儔僗柤
     * @throws ApplicationException 僀儀儞僩張棟帪偵傾僾儕働乕僔儑儞椺奜偑敪惗
     * @throws SystemException 僔僗僥儉張棟帪偵傾僾儕働乕僔儑儞椺奜偑敪惗
     * @throws EJBException 僔僗僥儉儗儀儖偺僄儔乕
     */
    public EventResult execute(Event event, String listenerName)
        throws ApplicationException, SystemException, EJBException {
        	
        StandardEventListener listener = null;
        EventResult result = null;

        // 僀儀儞僩儕僗僫偺惗惉
        try {
            listener =
                (StandardEventListener)Class
                    .forName(listenerName)
                    .newInstance();
        } catch (Exception e) {
            throw new SystemException(e.getMessage(), e);
        }

        // 僀儀儞僩偺幚峴
        try {
            listener.setInTransaction(true);
            result = listener.execute(event);
        } catch (ApplicationException e) {
            LogManager.getLogManager().getLogAgent().sendMessage(
                EventManager.class.getName(),
                LogConstant.LEVEL_ERROR,
                EventManager.LOG_HEAD + e.getMessage(),
                e);
            try {
                this.sessionContext.setRollbackOnly();
            } catch (IllegalStateException ex) {
                LogManager.getLogManager().getLogAgent().sendMessage(
                    EventManager.class.getName(),
                    LogConstant.LEVEL_ERROR,
                    EventManager.LOG_HEAD + ex.getMessage(),
                    ex);
            }
            throw e;
        } catch (SystemException e) {
            LogManager.getLogManager().getLogAgent().sendMessage(
                EventManager.class.getName(),
                LogConstant.LEVEL_ERROR,
                EventManager.LOG_HEAD + e.getMessage(),
                e);
            try {
                this.sessionContext.setRollbackOnly();
            } catch (IllegalStateException ex) {
                LogManager.getLogManager().getLogAgent().sendMessage(
                    EventManager.class.getName(),
                    LogConstant.LEVEL_ERROR,
                    EventManager.LOG_HEAD + ex.getMessage(),
                    ex);
            }
            throw e;
        } catch (Exception e) {
            LogManager.getLogManager().getLogAgent().sendMessage(
                EventManager.class.getName(),
                LogConstant.LEVEL_ERROR,
                EventManager.LOG_HEAD + e.getMessage(),
                e);
            try {
                this.sessionContext.setRollbackOnly();
            } catch (IllegalStateException ex) {
                LogManager.getLogManager().getLogAgent().sendMessage(
                    EventManager.class.getName(),
                    LogConstant.LEVEL_ERROR,
                    EventManager.LOG_HEAD + ex.getMessage(),
                    ex);
            }
            throw new SystemException(e.getMessage(), e);
        }

        return result;
    }
}

⌨️ 快捷键说明

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