impllauncher.java

来自「RMI英文教程,从各个方面教你怎么进行RMI开发」· Java 代码 · 共 61 行

JAVA
61
字号
package com.ora.rmibook.chapter23.rmiiiopaccounts.applications;


import com.ora.rmibook.chapter23.rmiiiopaccounts.*;
import com.ora.rmibook.chapter23.rmiiiopaccounts.valueobjects.*;
import java.util.*;
import javax.naming.*;


public class ImplLauncher {
    private static Context namingContext;
    public static void main(String[] args) {
        try {
            namingContext = new InitialContext();
        } catch (Exception e) {
            System.out.println("Naming context unavailable");
            System.exit(0);
        }
        Collection nameBalancePairs = getNameBalancePairs(args);
        Iterator i = nameBalancePairs.iterator();

        while (i.hasNext()) {
            NameBalancePair nextNameBalancePair = (NameBalancePair) i.next();

            launchServer(nextNameBalancePair);
        }
    }

    private static void launchServer(NameBalancePair serverDescription) {
        try {
            Account_Impl newAccount = new Account_Impl(serverDescription.balance);

            namingContext.rebind(serverDescription.name, newAccount);
            System.out.println("Account " + serverDescription.name + " successfully launched.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static Collection getNameBalancePairs(String[] args) {
        int i;
        ArrayList returnValue = new ArrayList();

        for (i = 0; i < args.length; i += 2) {
            NameBalancePair nextNameBalancePair = new NameBalancePair();

            nextNameBalancePair.name = args[i];
            int cents = (new Integer(args[i + 1])).intValue();

            nextNameBalancePair.balance = new Money(cents);
            returnValue.add(nextNameBalancePair);
        }
        return returnValue;
    }

    private static class NameBalancePair {
        String name;
        Money balance;
    }
}

⌨️ 快捷键说明

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