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

📄 threadedclient.java

📁 一种架设SOA的服务总线
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one *  or more contributor license agreements.  See the NOTICE file *  distributed with this work for additional information *  regarding copyright ownership.  The ASF licenses this file *  to you under the Apache License, Version 2.0 (the *  "License"); you may not use this file except in compliance *  with the License.  You may obtain a copy of the License at * *   http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, *  software distributed under the License is distributed on an *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *  KIND, either express or implied.  See the License for the *  specific language governing permissions and limitations *  under the License. */package samples.userguide;public class ThreadedClient {    public static final int STATELESS = 0;    public static final int SOAP_SESSION = 1;    public static final int SIMPLE_CLIENT_SESSION = 2;    public static final int TRANSPORT_SESSION = 3;    private int session = STATELESS;    /**     * @param args  1: epr     *              2: operation     *              3: number of requests     *              4: load     *              5: number of clients     *              6: session (client | transport)     */    public static void main(String[] args) {        new ThreadedClient().work();    }    public void work() {        String epr1 = System.getProperty("epr");        if (epr1 == null) {            epr1 = "http://localhost:8080";        }        System.out.println("EPR: " + epr1);        String op = System.getProperty("op");        if (op == null) {            op = "sleepOperation";        }        System.out.println("Operation: " + op);        long requests = 10;        String requestsProp = System.getProperty("req");        if (requestsProp != null) {            requests = Long.parseLong(requestsProp);        }        System.out.println("Number of requests: " + requests);        String loadParameter = System.getProperty("load");        if (loadParameter == null) {            loadParameter = "1000";        }        System.out.println("Load: " + loadParameter);        long msgSize = 0;        String msgSizeProp = System.getProperty("msg");        if (msgSizeProp != null) {            msgSize = Long.parseLong(msgSizeProp);        }        System.out.println("Number of dummy elements in the message: " + msgSize);        String sessionProp = System.getProperty("session");        if (sessionProp == null) {            session = STATELESS;        } else {            if (sessionProp.equalsIgnoreCase("client")) {                session = SIMPLE_CLIENT_SESSION;            } else if (sessionProp.equalsIgnoreCase("transport")) {                session = TRANSPORT_SESSION;            }        }        int clients = 2;        String clientsProp = System.getProperty("t");        if (clientsProp != null) {            clients = Integer.parseInt(clientsProp);        }        System.out.println("Number of client threads: " + clients);        ServiceInvoker[] invokers = new ServiceInvoker[clients];        for (int i = 0; i< clients; i++) {            ServiceInvoker invoker = new ServiceInvoker(epr1, op);            if (session != STATELESS) {                invoker.setStatefull(true);            }            invoker.setInvokerName("CLIENT " + i);            invoker.setIterations(requests);            invoker.setLoad(loadParameter);            invoker.addDummyElements(msgSize);            if (session == SIMPLE_CLIENT_SESSION) {                invoker.setClientSessionID("CLIENT " + i);            }            invokers[i] = invoker;        }        long t1 = System.currentTimeMillis();        for (int i = 0; i < clients; i++) {            invokers[i].start();        }        try {            for (int i = 0; i < clients; i++) {                invokers[i].join();            }        } catch (InterruptedException e) {            System.out.println("ERROR: A client thread is interrupted while sending requests.");        }        long t2 = System.currentTimeMillis();        System.out.println("\n================================================================\n");        for (int i = 0; i < clients; i++) {            System.out.println(invokers[i].getInvokerName() +                    " completed requests in " + invokers[i].getRunningTime() + " milliseconds.");        }        System.out.println                ("Time taken for completing all the requests is " + (t2 - t1) + " milliseconds.");    }}

⌨️ 快捷键说明

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