FileDocCategorySizeDatePackage
CreateAddressCommand.javaAPI DocExample1544Sun Jul 20 17:40:18 BST 2003antipatterns.model

CreateAddressCommand.java

package antipatterns.model;

import antipatterns.ejbs.*;

import java.util.*;
import javax.ejb.*;
import javax.rmi.*;
import javax.naming.*;

public class CreateAddressCommand {   
    private AddressBook[] books;
    private String[] names = { "Jack", "Jill", "Bill", "Ted" };
    
    public void initialize() throws NamingException {
        books = new AddressBook[names.length];
        
        Hashtable properties = new Properties();
        //properties.put(Context.INITIAL_CONTEXT_FACTORY,
         //   "com.sun.jndi.cosnaming.CNCtxFactory");
        //properties.put(Context.PROVIDER_URL, "iiop://wgs97-74:1050");
        
        InitialContext ic = new InitialContext(properties);
        Object personRef = ic.lookup("ejb/AddressBook");
        
        AddressBookHome bookHome =
        (AddressBookHome)PortableRemoteObject.narrow(personRef, AddressBookHome.class);
    
        try {
            for(int i = 0; i < names.length; i++) {
                books[i] = bookHome.create(names[i]);
            }
        } catch(Exception ex) {
            ex.printStackTrace();
        }
    }
    
    public void runCommand() throws NamingException {        
        try {
            for(int i = 0; i < 1000; i++) {
                int idx = (int)(Math.random() * names.length);
                String owner = names[idx];
                books[idx].addEntry(i, owner, owner, "tester" + i, "555-0" + i);
            }
        } catch(Exception ex) {
            ex.printStackTrace();
            return;
        }
        
    }
}