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

📄 bank.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: Bank.java 10784 2008-02-12 15:33:15Z 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.example.loanbroker.bank;import org.mule.api.config.ConfigurationException;import org.mule.api.endpoint.ImmutableEndpoint;import org.mule.api.service.Service;import org.mule.api.service.ServiceAware;import org.mule.config.i18n.MessageFactory;import org.mule.example.loanbroker.LocaleMessage;import org.mule.example.loanbroker.messages.LoanBrokerQuoteRequest;import org.mule.example.loanbroker.messages.LoanQuote;import java.io.Serializable;import java.util.List;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * <code>Bank</code> is a representation of a bank from which to obtain loan * quotes. */public class Bank implements ServiceAware, Serializable, BankService{    /**     * Serial version     */    private static final long serialVersionUID = 4108271137166107769L;    /**     * logger used by this class     */    protected static final Log logger = LogFactory.getLog(Bank.class);    private String bankName;    private double primeRate;        /**     * Incoming endpoint for the bank, this is used to create a static recipient list based on a list of banks.     */    private String endpoint;    public Bank()    {        this.primeRate = Math.random() * 10;    }    public Bank(String bankname)    {        this();        this.bankName = bankname;        // For simplicity, the endpoint for the bank is the same as the bank's name.        this.endpoint = bankName;    }    // TODO This method doesn't help us with the Static Recipient list because the list of banks is created     // programatically in DefaultLenderService (they should be looked up from the config/registry).    public void setService(Service service) throws ConfigurationException     {        this.bankName = service.getName();         List endpoints = service.getInboundRouter().getEndpoints();        if ((endpoints == null) || (endpoints.size() != 1))        {            throw new ConfigurationException(MessageFactory.createStaticMessage("Bank is expected to have exactly 1 incoming endpoint."));        }        // TODO This gives us the endpoint the bank is listening on, but the endpoint for sending to the bank         // is different in the ESB config ("Bank1In" vs. "Bank1")        this.endpoint = ((ImmutableEndpoint) endpoints.get(0)).getName();    }    public LoanQuote getLoanQuote(LoanBrokerQuoteRequest request)    {        LoanQuote quote = new LoanQuote();        quote.setBankName(getBankName());        quote.setInterestRate(primeRate);        logger.info(LocaleMessage.receivedRate(quote));        return quote;    }    public String getBankName()    {        return bankName;    }    public void setBankName(String bankName)    {        this.bankName = bankName;    }    public double getPrimeRate()    {        return primeRate;    }    public void setPrimeRate(double primeRate)    {        this.primeRate = primeRate;    }    public String getEndpoint()    {        return endpoint;    }    public void setEndpoint(String endpoint)    {        this.endpoint = endpoint;    }}

⌨️ 快捷键说明

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