1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu RMIREGISTRY và các cách đăng kí đối tượng

5 205 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 139,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu RMIREGISTRY và các cách đăng kí đối tượng Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trước giờ chúng ta vãn sử dụng bộ đăng ký rmiregistry như một dịch vụ tìm kiếm.. Bộ đăng ký này là chươ

Trang 1

Tìm hiểu RMIREGISTRY và các cách đăng kí đối tượng

Bởi:

Khoa CNTT ĐHSP KT Hưng Yên

Trước giờ chúng ta vãn sử dụng bộ đăng ký rmiregistry như một dịch vụ tìm kiếm Các đối tượng chủ muốn trình khách truy tìm được từ xa thì trước hết phải đăng ký với rmiregistry Bộ đăng ký này là chương trình dịch vụ chạy ở hậu trường ,mở ổ cắm Socket và lắng nghe các yêu cầu gửi đến cổng mặc định 1099.bạn có thể chỉ định một

số cổng khác cổng mặc định

Ví dụ c:\j2sdk1.4\bin>Rmiregistry.exe2003

sẽ chạy dịch vụ đăng ký rmiregistry trên cổng 2003.Đối tượng trên máy chủ có thể đăng

ký đến dịch vụ này bằng cách gọi Naming.bind() theo cách :

MmyObject o=new MyObjectImpl();

Naming.bind(“rmi://localhost:2003/myobjectname”,o);

Tiếp đến chương trình trên máy khách sẽ yêu cầu dịch vụ đăng ký trả về tham chiếu đến đối tượng trên máy chủ :

MyObject o=(M yObject) Naming.lookup(“rmi://localhost:2003/myobjectname”);

Trang 2

Cơ chế đăng ký nhiều đối tượng với rmiregistry

Java cho phép cơ chế liên lạc với bộ đăng ký rmiregistry để lấy về danh sách các đối tượng hiện rmiregistry đang nắm giữ để bạn tùy nghi sử dụng Điều này tương tự một cửa hàng có khả năng cung cấp cho bạn nhiều dịch vụ Muốn biết mình cần thứ gi bạn chỉ ciệc yêu cầu cửa hàng cung cấp danh sách dịch vụ hiện có Chọn ra một dịch vụ sau

đó yêu cầu dịch vụ đó thực hiện chức năng của mình

CHƯƠNG TRÌNH DUYỆT CÁC ĐỐI TƯỢNG CÓ TRONG

RMIREGISTRY

Dưới đây là chương trình tìm hiểu danh sách các đối tượng do rmiregistry nắm giữ Bạn xây dựng chương trình qua các bước sau:

Bước 1:Xây dựng chương trình duyệt rmiregistry.

ví dụ: Traverse.java

import java.rmi.registry.*;

Pubic calss Traverse{

Public static void main (String[] args) throws Exception{

String hostAddr=”127.0.0.1”;

System.out.println(“connecting registry…”);

Registry registru\y=LocateRegistry.getregistry(hostAddr);

Trang 3

String objectAvailable[]=registry.list();

System.out.println(“Registry object:”);

For(int i=0;i<objectAvailable.lengh;i++){

System.out.println(“objectAvailable[i]”);

}

}

}

Biên dịch chương trình :

Javac Traverse.java

Bước 2:khởi đọng và đăng ký một số đối tượng rmiregistry.

Khởi động bộ đăng ký :

Start rmiregistry

Đăng ký đối tượng Calculator với bọ đăng ký:

C:\rmi\Calculator>java Setup

Đăng ký đối tượng Hello với bộ đăng ký :

C:\rmi\ByValue>java Setup

Bước 3:Chạy chương trình Traverse:

c:\rmi\Traverse>java Traverse

myCalculator

myhello

pingobject

Bạn sẽ liệt kê được tổng cộng 3 đối tượng đã đăng ký với rmiregistry.Chương trình của

táử dụng lớp LocateRegistry Chứa trong gói java.rmi.registry Bạn cung cấp địa chỉ

Trang 4

Ipcủa máy ảo nơi rmiregistry đang chạy, phương thức tĩnh GetRegistry() cua rlớp này

sẽ trả về đối tượng registry

Registry registry=LocateRegistry.getRegistry(hostAddr);

TẠO BỘ ĐĂNG KÝ CỤC BỘ

Java cho phép bạn tự tạo bộ đăng cho riêng mình mà không cần dùng đến chương trình

rmiregistry.exe Để tạo bộ đăng ký và tự đăng ký đối tượng bạn gọi phương thức tĩnh createRegistry() của lớp LocateRegistry Chẳng hạn chương trình setup.java ở ví dụ

trên có thể tự đăng ký đố tượng hello theo cách sau:

Ví dụ: Setup.java

Import java.rmi.*;

Import java.rmi.server.*;

Import java.rmi.registry.*;

Public class setup{

Public static void main(String[]args) throws Exception{

LocateRegistry.createRegistry(1099);

helloImpl hello=new HelloImpl();

UnicastRemoteObject.exportObject(hello);

System.out.println(“Registering object…”);

Naming.bind(“rmi:/localhost/myhello”,hello);

System.out.println(“Waiting for client request…”);

}

}

Bạn chỉ cần biên dịch và gọi chương trình java setup của ví dụn trên từ máy chủ Setup

sẽ tự động tạo bộ đăng ký rmiregistry ở cổng mặc định 1099 sau đó tự đăng ký đối tượng với rmiregistry do mình tạo ra Tuy nhiên cách này chỉ có thể áp dụng một đối tượng Nếu một đối tượng nào đó đã tạo ra bộ đăng ký rồi thì bạn không được goi

Trang 5

LocateRegistry.createRegistry() lần thứ hai trên cùng một cổng của máy chủ Bạn

phảI tạo một cổng khác cho bộ đăng ký

Ngày đăng: 31/12/2015, 10:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w