INFO
Sylabus
OMG CORBA, cz. 4
1. Wołanie statyczne: krok po kroku
2. Nasz pierwszy program w CORBA: Counter
3. Counter: wyrażenie IDL
4. Counter: klasy i interfejsy Java generowane przez prekompilator
5. Jakie to są pliki?
6. Counter: Pieniek klienta generowany automatycznie
7. Counter: Szkielet serwera generowany automatycznie
8. Counter: interfejs w Java generowany z IDL
9. Counter: przykład klasy implementującej interfejs w IDL
10. Counter: Główny program serwera
11. Counter: Szkielet wypełniony implementacją
12. Counter: program klienta (nasza aplikacja)
13. Wołanie dynamiczne: krok po kroku
14. Protokoły pomiędzy ORB-ami
15. Rodzaje usług obiektowych
16. Zasady projektowania usług obiektowych
Skorowidz
Wyście:
Wyklad IV. Wprowadzenie do OMG CORBA, część 4 (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

11. Counter: Szkielet wypełniony implementacją

Klasa _CountImplBase jest rozszerzona poprzez klasę CountImpl, stworzoną z przykładu _example_Count.

// CountImpl.java: The Count Implementation
class CountImpl extends Counter._CountImplBase
{ 
  private int sum; 
  // Constructors 
  CountImpl(String name) 
  { super(name); 
    System.out.println ("Count Object Created");  
    sum = 0; 
  }
  // get sum
  public  int sum()
  { return sum; 
  } 
  // set sum 
  public  void sum(int val)
  { sum = val; 
  } 
  // increment method
  public int increment()
  { sum++; 
    return sum; 
  } 
}

Razem klasy _CountImplBase i CountImpl tworzą implementację obiektu po stronie serwera


12 .Counter: program klienta (nasza aplikacja)

// CountClient.java  Static Client, VisiBroker for Java 
class CountClient 
{ public static void main(String args[]) 
  { try 
    { // Initialize the ORB 
      System.out.println("Initializing the ORB"); 
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); 
      // Bind to the Count Object 
      System.out.println("Binding to Count Object"); 
      Counter.Count counter = Counter.CountHelper.bind(orb, "My Count"); 
      // Set sum to initial value of 0 
      System.out.println("Setting sum to 0"); 
      counter.sum((int)0); 
      // Calculate Start time 
      long startTime = System.currentTimeMillis();
      // Increment 1000 times 
      System.out.println("Incrementing"); 
      for (int i = 0 ; i < 1000 ; i++ ) 
      { counter.increment(); 
      } 
      // Calculate stop time; print out statistics 
      long stopTime = System.currentTimeMillis(); 
      System.out.println("Avg Ping = "  
                    + ((stopTime - startTime)/1000f) + " msecs"); 
      System.out.println("Sum = " + counter.sum()); 
    } catch(org.omg.CORBA.SystemException e) 
    { System.err.println("System Exception"); 
      System.err.println(e); 
    } 
  } 
}
« poprzedni punkt   następny punkt »