2009-07-18 29 views
6

Tôi hiện đang xây dựng một hệ thống P2P sử dụng Bộ đệm giao thức cho tất cả các giao tiếp giữa các đồng nghiệp. Ngoài ra còn có một số bộ phận tập trung của hệ thống, nơi các đồng nghiệp giao tiếp với một máy chủ. Máy chủ sử dụng JPA để lưu trữ dữ liệu mà nó có về các đồng nghiệp.Bộ đệm giao thức với JPA

Vì vậy, về cơ bản, khách hàng có dữ liệu của nó trong Protocol Buffers-messages và máy chủ trong các thực thể JPA. Câu hỏi của tôi là do đó nếu có một cách để tự động chuyển đổi giữa chúng?

Những gì tôi đang tìm kiếm là:

  • Một máy phát điện của JPA-thực thể từ .protos-files HOẶC
  • Một máy phát điện của .protos-file từ JPA-entity VÀ
  • Một số cách để tự động chuyển đổi giữa chúng khi chạy nên tôi không tạo mã để thực hiện thủ công cho mọi lớp mới.

Lý tưởng nhất bạn có thể thực hiện thêm một bước nữa và có cả hai lớp giống nhau (ví dụ: Bộ đệm giao thức có chú thích JPA) nhưng nếu điều đó không thể thực hiện được ở trên cũng sẽ hoạt động.

Điều này đã được thực hiện chưa và liệu bạn có nghĩ rằng nó có khả thi để thực hiện trong một khoảng thời gian hợp lý không?

+0

Tôi cũng thích loại điều này. Đặc biệt, khả năng tạo các tệp '.proto' từ một lớp JPA dựa trên các chú thích của nó. Các tính năng khác (tạo các thực thể JPA từ các tệp .proto, tự động chuyển đổi từ một sang khác) ít quan trọng hơn. Sử dụng giải pháp XML/XSLT là một tùy chọn, nhưng nó vẫn liên quan đến hai tạo phẩm phát triển phải được duy trì song song. Tôi muốn một giải pháp có thể xây dựng cả hai thứ chỉ sử dụng một tạo phẩm phát triển duy nhất. – aroth

Trả lời

1

API bộ đệm giao thức Java muốn tạo các lớp. Vì vậy, có vẻ như sẽ rất khó để sau đó chú thích chúng. Thay vào đó, bạn có thể bắt đầu với XML riêng "schema" của bạn, và sau đó có stylesheets XSLT rằng:

  1. Tạo một file .proto
  2. Tạo một file XML mapping thực thể JPA.

Sau đó, bạn có thể sử dụng tệp được tạo bằng Google với JPA.

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