muleconfigurationconfigurator.java
来自「提供ESB 应用mule源代码 提供ESB 应用mule源代码」· Java 代码 · 共 103 行
JAVA
103 行
/* * $Id: MuleConfigurationConfigurator.java 11967 2008-06-05 20:32:19Z dfeist $ * -------------------------------------------------------------------------------------- * 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.spring;import org.mule.api.MuleContext;import org.mule.api.config.ConfigurationException;import org.mule.api.config.MuleConfiguration;import org.mule.api.context.MuleContextAware;import org.mule.config.DefaultMuleConfiguration;import org.mule.config.i18n.MessageFactory;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.beans.factory.SmartFactoryBean;/** * This class is a "SmartFactoryBean" which allows a few XML attributes to be set on the * otherwise read-only MuleConfiguration. It looks up the MuleConfiguration from the * MuleContext and does some class-casting to be able to modify it. Note that this will * only work if the MuleContext has not yet been started, otherwise the modifications * will be ignored (and warnings logged). */public class MuleConfigurationConfigurator implements MuleContextAware, SmartFactoryBean{ private MuleContext muleContext; // We instantiate DefaultMuleConfiguration to make sure we get the default values for // any properties not set by the user. private DefaultMuleConfiguration config = new DefaultMuleConfiguration(); protected transient Log logger = LogFactory.getLog(MuleConfigurationConfigurator.class); public void setMuleContext(MuleContext context) { this.muleContext = context; } public boolean isEagerInit() { return true; } public boolean isPrototype() { return false; } public Object getObject() throws Exception { MuleConfiguration configuration = muleContext.getConfiguration(); if (configuration instanceof DefaultMuleConfiguration) { ((DefaultMuleConfiguration) configuration).setDefaultSynchronousEndpoints(config.isDefaultSynchronousEndpoints()); ((DefaultMuleConfiguration) configuration).setDefaultSynchronousEventTimeout(config.getDefaultSynchronousEventTimeout()); ((DefaultMuleConfiguration) configuration).setDefaultRemoteSync(config.isDefaultRemoteSync()); ((DefaultMuleConfiguration) configuration).setDefaultTransactionTimeout(config.getDefaultTransactionTimeout()); return configuration; } else { throw new ConfigurationException(MessageFactory.createStaticMessage("Unable to set properties on read-only MuleConfiguration: " + configuration.getClass())); } } public Class getObjectType() { return MuleConfiguration.class; } public boolean isSingleton() { return true; } public void setDefaultSynchronousEndpoints(boolean synchronous) { config.setDefaultSynchronousEndpoints(synchronous); } public void setDefaultSynchronousEventTimeout(int synchronousEventTimeout) { config.setDefaultSynchronousEventTimeout(synchronousEventTimeout); } public void setDefaultRemoteSync(boolean remoteSync) { config.setDefaultRemoteSync(remoteSync); } public void setDefaultTransactionTimeout(int defaultTransactionTimeout) { config.setDefaultTransactionTimeout(defaultTransactionTimeout); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?