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

📄 quartznamespacehandler.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: QuartzNamespaceHandler.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.transport.quartz.config;import org.mule.config.spring.factories.InboundEndpointFactoryBean;import org.mule.config.spring.factories.OutboundEndpointFactoryBean;import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;import org.mule.config.spring.parsers.MuleDefinitionParser;import org.mule.config.spring.parsers.collection.ChildMapDefinitionParser;import org.mule.config.spring.parsers.collection.ChildSingletonMapDefinitionParser;import org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser;import org.mule.config.spring.parsers.generic.ParentDefinitionParser;import org.mule.config.spring.parsers.specific.DataObjectDefinitionParser;import org.mule.config.spring.parsers.specific.endpoint.EndpointPropertyElementDefinitionParser;import org.mule.config.spring.parsers.specific.endpoint.EndpointRefParser;import org.mule.config.spring.parsers.specific.endpoint.TransportEndpointDefinitionParser;import org.mule.config.spring.parsers.specific.endpoint.TransportGlobalEndpointDefinitionParser;import org.mule.endpoint.URIBuilder;import org.mule.transport.quartz.QuartzConnector;import org.mule.transport.quartz.jobs.CustomJobConfig;import org.mule.transport.quartz.jobs.CustomJobFromMessageConfig;import org.mule.transport.quartz.jobs.EndpointPollingJobConfig;import org.mule.transport.quartz.jobs.EventGeneratorJobConfig;import org.mule.transport.quartz.jobs.ScheduledDispatchJobConfig;/** * Registers Bean Definition Parsers for the "quartz" namespace */public class QuartzNamespaceHandler extends AbstractMuleNamespaceHandler{    public static final String JOB_NAME_ATTRIBUTE = "jobName";    public static final String[][] QUARTZ_ATTRIBUTES = new String[][]{new String[]{JOB_NAME_ATTRIBUTE}};    public void init()    {        registerQuartzTransportEndpoints();        registerMuleBeanDefinitionParser("connector", new MuleOrphanDefinitionParser(QuartzConnector.class, true)).addAlias("scheduler", "quartzScheduler");        // note that we use the singular (factoryProperty) for the setter so that we auto-detect a collection        registerBeanDefinitionParser("factory-property", new ChildSingletonMapDefinitionParser("factoryProperty"));        registerBeanDefinitionParser("factory-properties", new ChildMapDefinitionParser("factoryProperty"));        registerBeanDefinitionParser("event-generator-job", new EndpointPropertyElementDefinitionParser(QuartzConnector.PROPERTY_JOB_CONFIG, EventGeneratorJobConfig.class));        registerBeanDefinitionParser("endpoint-polling-job", new EndpointPropertyElementDefinitionParser(QuartzConnector.PROPERTY_JOB_CONFIG, EndpointPollingJobConfig.class));        registerBeanDefinitionParser("scheduled-dispatch-job", new EndpointPropertyElementDefinitionParser(QuartzConnector.PROPERTY_JOB_CONFIG, ScheduledDispatchJobConfig.class));        registerBeanDefinitionParser("custom-job", new EndpointPropertyElementDefinitionParser(QuartzConnector.PROPERTY_JOB_CONFIG, CustomJobConfig.class));        registerBeanDefinitionParser("custom-job-from-message", new EndpointPropertyElementDefinitionParser(QuartzConnector.PROPERTY_JOB_CONFIG, CustomJobFromMessageConfig.class));        ParentDefinitionParser parser = new ParentDefinitionParser();        parser.addAlias("address", "endpointRef");        parser.addAlias("ref", "endpointRef");        registerBeanDefinitionParser("job-endpoint", new EndpointRefParser("endpointRef"));        registerBeanDefinitionParser("payload", new DataObjectDefinitionParser("payload"));    }    /**     * Need to use the most complex constructors as have mutually exclusive address     * aattributes     */    protected void registerQuartzTransportEndpoints()    {        registerQuartzEndpointDefinitionParser("endpoint",            new TransportGlobalEndpointDefinitionParser(QuartzConnector.QUARTZ,                TransportGlobalEndpointDefinitionParser.PROTOCOL,                TransportGlobalEndpointDefinitionParser.RESTRICTED_ENDPOINT_ATTRIBUTES, QUARTZ_ATTRIBUTES,                new String[][]{}));        registerQuartzEndpointDefinitionParser("inbound-endpoint", new TransportEndpointDefinitionParser(            QuartzConnector.QUARTZ, TransportEndpointDefinitionParser.PROTOCOL, InboundEndpointFactoryBean.class,            TransportEndpointDefinitionParser.RESTRICTED_ENDPOINT_ATTRIBUTES, QUARTZ_ATTRIBUTES, new String[][]{}));        registerQuartzEndpointDefinitionParser("outbound-endpoint", new TransportEndpointDefinitionParser(            QuartzConnector.QUARTZ, TransportEndpointDefinitionParser.PROTOCOL, OutboundEndpointFactoryBean.class,            TransportEndpointDefinitionParser.RESTRICTED_ENDPOINT_ATTRIBUTES, QUARTZ_ATTRIBUTES, new String[][]{}));    }    protected void registerQuartzEndpointDefinitionParser(String element, MuleDefinitionParser parser)    {        parser.addAlias(JOB_NAME_ATTRIBUTE, URIBuilder.PATH);        registerBeanDefinitionParser(element, parser);    }}

⌨️ 快捷键说明

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