2009-08-25 36 views
8

Có cách nào dễ dàng để gọi một điểm cuối dịch vụ RPC GWT trực tiếp từ mã Java không? Tôi có nghĩa là mã Java thực, không phải mã Java được biên dịch thành javascript.Gọi một dịch vụ RPC GWT từ Java trực tiếp

Tôi hỏi vì chúng tôi muốn chạy điểm chuẩn hiệu suất/kiểm tra căng thẳng đối với giao diện GWT RPC. Tôi muốn viết khai thác thử nghiệm trong Java và chạy nó trong một JVM (như trái ngược với javascript đang chạy trong một trình duyệt).

Tôi phải có cách để thực hiện việc này vì tôi cho rằng chế độ được lưu trữ GWT yêu cầu chức năng như vậy. Tuy nhiên, tôi thực sự không thể tìm thấy bất kỳ mã nào trong thời gian chạy GWT thể hiện cách làm việc này một cách rõ ràng. Tôi đã xem gói com.google.gwt.user.client.rpc nhưng những thứ trong đó dường như sử dụng JSNI rõ ràng sẽ không thể sử dụng được bằng Java thuần túy.

Trả lời

10

GWT SyncProxy cho phép bạn truy cập các dịch vụ GWT RPC (ví dụ: phương pháp) từ mã Java thuần túy (không phải JSNI). Vì vậy, bạn có thể sử dụng nó để kiểm tra giao diện RPC của bạn.

Xem http://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/ để biết chi tiết.

+0

Cơ chế này có hoạt động cho một hệ thống sản xuất không? Ví dụ, tôi có thể sử dụng nó để cung cấp một Java API phía khách hàng cho khách hàng của tôi không? – HDave

+0

Vâng, chắc chắn. Tuy nhiên, đối với quyền truy cập của bên thứ ba, bạn có/nên triển khai Kiểm soát quyền truy cập ở phía máy chủ – Trung

+1

Vì URL trên dường như đã chết, vui lòng xem trang web Google Code của dự án: https://code.google.com/p/gwt -syncproxy/ – JCricket

0

Bạn có thể sử dụng công cụ kiểm tra tải thông thường như Máy xay để phát lại yêu cầu đăng bài cho dịch vụ của mình. Đó không phải là những gì bạn đang yêu cầu nhưng nó có thể là một cách tốt hơn để thực hiện kiểm tra tải trên ứng dụng của bạn. Máy xay có thể mô phỏng nhiều người dùng đồng thời và vân vân.

1

Bạn đang cố gắng đánh giá logic nghiệp vụ của dịch vụ hay bản thân GWT-RPC hoạt động tốt như thế nào? Nếu bạn chủ yếu là lo lắng về cũng cách mã backend của bạn thực hiện, bạn chỉ có thể nhanh chóng lớp mà thực hiện dịch vụ của bạn trực tiếp:

MyServiceImpl impl = new MyServiceImpl(); 
impl.doSomething(); 

Nếu bạn muốn kiểm tra một lát lớn hơn của chồng, bao gồm các cuộc gọi RPC, mất một cái nhìn here. Có một phần được gọi là "chạy thử nghiệm của bạn ở chế độ web" có dòng sau: 'Theo mặc định, các thử nghiệm chạy trong chế độ được lưu trữ được chạy như mã Java bytecode bình thường trong một JVM'. Vì vậy, nếu bạn sử dụng các thiết lập được mô tả, tôi nghĩ rằng bạn nhận được các xét nghiệm của bạn để chạy trong java theo mặc định. Cũng trên trang đó là thông tin về các công cụ lược tả được xây dựng của GWT.

+0

Tôi muốn thử nghiệm GWT-RPC và cơ chế gửi tùy chỉnh mà chúng tôi đã tích hợp vào máy chủ của mình. Tôi không muốn sử dụng tất cả các giàn giáo mà cơ sở hạ tầng thử nghiệm GWT áp đặt, nhưng tôi sẽ xem xét các công cụ kiểm tra GWT tích hợp mà bạn tham khảo. Cảm ơn! – Eric

Các vấn đề liên quan