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

📄 loanbrokerapp.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: LoanBrokerApp.java 11449 2008-03-20 12:27:50Z 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.example.loanbroker.esn;import org.mule.example.loanbroker.AbstractLoanBrokerApp;import org.mule.example.loanbroker.LocaleMessage;import org.mule.example.loanbroker.messages.LoanQuote;import org.mule.util.DateUtils;import org.mule.util.StringMessageUtils;import org.mule.util.StringUtils;import org.mule.util.SystemUtils;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;/** * Runs the LoanBroker ESN example application. */public class LoanBrokerApp extends AbstractLoanBrokerApp{    public static final String CLI_OPTIONS[][] = {            { "config", "true", "Configuration File(s)" },            { "main", "true", "LoanBrokerApp Class"},            { "req", "true", "Number of loan requests to use"},            { "sync", "true", "Whether to run in synchronous mode or not"}        };    private static boolean synchronous = false;    // Needed for webapp version!    // TODO Travis ... sadly, it doesn't quite work    public LoanBrokerApp() throws Exception    {        super();    }    public LoanBrokerApp(String config) throws Exception    {        super(config);    }    public static void main(String[] args) throws Exception    {        LoanBrokerApp loanBrokerApp = null;                /////////////////////////////////////////        // Command-line config        /////////////////////////////////////////        Map options = SystemUtils.getCommandLineOptions(args, CLI_OPTIONS);        String config = (String)options.get("config");        if (StringUtils.isNotBlank(config))        {            loanBrokerApp = new LoanBrokerApp(config);            int i = 100;            String requests = (String)options.get("req");            if (requests != null)            {                i = Integer.parseInt(requests);            }            String sync = (String)options.get("sync");            if (sync != null)            {                synchronous = Boolean.valueOf(sync).booleanValue();            }            if (synchronous)            {                long start = System.currentTimeMillis();                List results = loanBrokerApp.requestSend(i, "CustomerRequests");                System.out.println(LocaleMessage.responseNumQuotes(results.size()));                List output = new ArrayList(results.size());                int x = 1;                for (Iterator iterator = results.iterator(); iterator.hasNext(); x++)                {                    LoanQuote quote = (LoanQuote)iterator.next();                    output.add(x + ". " + quote.toString());                }                System.out.println(StringMessageUtils.getBoilerPlate(output, '*', 80));                long cur = System.currentTimeMillis();                System.out.println(DateUtils.getFormattedDuration(cur - start));                System.out.println(LocaleMessage.responseAvgRequest(((cur - start) / x) ));            }            else            {                loanBrokerApp.requestDispatch(i, "CustomerRequests");            }        }        /////////////////////////////////////////        // Interactive config        /////////////////////////////////////////        else        {            loanBrokerApp = new LoanBrokerApp(getInteractiveConfig());            loanBrokerApp.run(synchronous);        }    }    protected static String getInteractiveConfig() throws IOException    {        System.out.println(StringMessageUtils.getBoilerPlate(LocaleMessage.welcome()));                            int response = 0;        String provider = "axis";        while (response != 'a' && response != 'c')        {            System.out.println("\n" + LocaleMessage.menuOptionSoap());            response = readCharacter();            switch (response)            {                case 'a' :                {                    provider = "axis";                    break;                }                case 'c' :                {                    provider = "cxf";                    break;                }            }        }        response = 0;        while (response != 'a' && response != 's')        {            System.out.println("\n" + LocaleMessage.menuOptionMode());            response = readCharacter();            switch (response)            {                case 'a' :                {                    System.out.println(LocaleMessage.loadingAsync());                    synchronous = false;                    break;                }                case 's' :                {                    System.out.println(LocaleMessage.loadingSync());                    synchronous = true;                    break;                }            }        }        String config = "loan-broker-" + (synchronous ? "sync" : "async") + "-config.xml";        config += ",loan-broker-" + provider + "-endpoints-config.xml";        return config;    }}

⌨️ 快捷键说明

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