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

📄 mulexmlbuildercontextlistener.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: MuleXmlBuilderContextListener.java 12637 2008-09-12 17:34:03Z aperepel $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.config.builders;import org.mule.MuleServer;import org.mule.api.MuleContext;import org.mule.api.MuleException;import org.mule.api.config.ConfigurationException;import org.mule.api.context.MuleContextFactory;import org.mule.api.lifecycle.InitialisationException;import org.mule.config.spring.SpringXmlConfigurationBuilder;import org.mule.context.DefaultMuleContextFactory;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * <code>MuleXmlBuilderContextListener</code> is a bootstrap listener used to * construct a MuleManager instance. This listener delegates to the * <i>MuleXmlConfigurationBuilder</i>. * <p> * The location of the configuration file can be specified in a init parameter called * <i>org.mule.config</i>, the value can be a path on the local file system or on * the classpath. If a config parameter is not specified a default <i>mule-config.xml</i> * will be used. * </p> *  * @see SpringXmlConfigurationBuilder */public class MuleXmlBuilderContextListener implements ServletContextListener{    /**     * One or more Mule config files.     */    public static final String INIT_PARAMETER_MULE_CONFIG = "org.mule.config";    private MuleContext muleContext;    protected transient final Log logger = LogFactory.getLog(MuleXmlBuilderContextListener.class);    public void contextInitialized(ServletContextEvent event)    {        initialize(event.getServletContext());    }    public void initialize(ServletContext context)    {        String config = context.getInitParameter(INIT_PARAMETER_MULE_CONFIG);        if (config == null)        {            config = getDefaultConfigResource();            if (logger.isDebugEnabled())            {                logger.debug("No Mule config file(s) specified, using default: " + config);            }        }        else        {            if (logger.isDebugEnabled())            {                logger.debug("Mule config file(s): " + config);            }        }        try        {            muleContext = createManager(config, context);            muleContext.start();        }        catch (MuleException ex)        {            context.log(ex.getMessage(), ex);            // Logging is not configured OOTB for Tomcat, so we'd better make a            // start-up failure plain to see.            ex.printStackTrace();        }        catch (Error error)        {            // WSAD doesn't always report the java.lang.Error, log it            context.log(error.getMessage(), error);            // Logging is not configured OOTB for Tomcat, so we'd better make a            // start-up failure plain to see.            error.printStackTrace();            throw error;        }    }    /**     * Used to actually construct the UMOManager instance     *      * @param configResource the location of the config resource, this can be on the     *            local file system or on the classpath.     * @return A configured UMOManager instance     * @throws InitialisationException      */    protected MuleContext createManager(String configResource, ServletContext context)        throws ConfigurationException, InitialisationException    {        WebappMuleXmlConfigurationBuilder builder = new WebappMuleXmlConfigurationBuilder(context, configResource);        MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();        return muleContextFactory.createMuleContext(builder);    }    /**     * If no config location resource is configured on the servlet context, the value     * returned from this method will be used to initialise the MuleManager.     *      * @return the default config resource location     */    protected String getDefaultConfigResource()    {        return MuleServer.DEFAULT_CONFIGURATION;    }    public void contextDestroyed(ServletContextEvent event)    {        destroy();    }    public void destroy()    {        if (muleContext != null)        {            if (!muleContext.isDisposing() || !muleContext.isDisposed())            {                muleContext.dispose();            }        }    }}

⌨️ 快捷键说明

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