endpointservice.java

来自「提供ESB 应用mule源代码 提供ESB 应用mule源代码」· Java 代码 · 共 138 行

JAVA
138
字号
/* * $Id: EndpointService.java 11328 2008-03-12 10:27:11Z tcarlson $ * -------------------------------------------------------------------------------------- * 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.module.management.mbean;import org.mule.api.endpoint.ImmutableEndpoint;import org.mule.api.endpoint.InboundEndpoint;import org.mule.api.endpoint.OutboundEndpoint;import org.mule.api.transport.MessageReceiver;import org.mule.config.i18n.CoreMessages;import org.mule.util.ObjectNameHelper;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * The EndpointServiceMBean allows you to check the confiugration of an endpoint and * conect/disconnect endpoints manually. */public class EndpointService implements EndpointServiceMBean{    /**     * logger used by this class     */    protected transient Log logger = LogFactory.getLog(getClass());    private ImmutableEndpoint endpoint;    private MessageReceiver receiver;    private String name;    private String componentName;    public EndpointService(ImmutableEndpoint endpoint)    {        this.endpoint = endpoint;        init();    }    public EndpointService(MessageReceiver receiver)    {        if (receiver == null)        {            throw new IllegalArgumentException(CoreMessages.objectIsNull("Receiver").getMessage());        }        this.endpoint = receiver.getEndpoint();        this.receiver = receiver;        this.componentName = receiver.getService().getName();        init();    }    private void init()    {        if (endpoint == null)        {            throw new IllegalArgumentException(CoreMessages.objectIsNull("Endpoint").getMessage());        }        if (receiver == null && endpoint instanceof InboundEndpoint)        {            throw new IllegalArgumentException(                "Recevier is null for Endpoint MBean but the endpoint itself is a receiving endpoint");        }        name = ObjectNameHelper.getEndpointName(endpoint.getEndpointURI());    }    public String getAddress()    {        return endpoint.getEndpointURI().getAddress();    }    public String getName()    {        return name;    }    public boolean isConnected()    {        return receiver == null || receiver.isConnected();    }    public void connect() throws Exception    {        if (receiver != null && !receiver.isConnected())        {            receiver.connect();        }        else if (logger.isDebugEnabled())        {            logger.debug("Endpoint is already connected");        }    }    public void disconnect() throws Exception    {        if (receiver != null && receiver.isConnected())        {            receiver.disconnect();        }        else if (logger.isDebugEnabled())        {            logger.debug("Endpoint is already disconnected");        }    }    public boolean isInbound()    {        return endpoint instanceof InboundEndpoint;    }    public boolean isOutbound()    {        return endpoint instanceof OutboundEndpoint;    }    public boolean isSynchronous()    {        return endpoint.isSynchronous();    }    public String getComponentName()    {        return componentName;    }    public void setComponentName(String componentName)    {        this.componentName = componentName;    }}

⌨️ 快捷键说明

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