2009-10-06 29 views
7

Tôi đã có một đối tượng phức tạp đang được quản lý dữ liệu DataServices của LCDS và được tạo/cập nhật, vv bằng cách sử dụng các trình tạo tùy chỉnh. Phần lớn các hệ thống phân cấp đối tượng đang được tuần tự hóa/deserialized một cách chính xác nhưng tôi đã nhấn một trở ngại khi nói đến serializing bất biến java lớp học.Nối tiếp các lớp java bất biến thành actionscript với LCDS

Trong một java chỉ thế giới mà tôi sẽ sử dụng writeReplace java và phương pháp readResolve như blog tuyệt vời này mô tả: http://lingpipe-blog.com/2009/08/10/serializing-immutable-singletons-serialization-proxy/

Đây là cách tôi ban đầu đã viết lớp java của tôi, mong LiveCycle để gọi phương thức writeReplace và hợp lệ thay thế lớp bất biến với một lớp có thể thay đổi được để tuần tự hóa. Tuy nhiên nó sẽ xuất hiện mà màn hình LCD không biết gì về phương pháp writeReplace và sẽ chỉ gọi readExternal/writeExternal bỏ qua readResolve và writeReplace.

Thứ nhất, có người khác phát hiện trường hợp này hoặc tôi đang thiếu thứ gì đó?

Thứ hai, có ai đưa ra một phương pháp thích hợp để deserialize các lớp ActionScript thành các đối tượng không thể thay đổi hoặc đơn?

Rất cám ơn

Trả lời

5

Vâng, đó là vấn đề thường gặp. Adobe khuyến cáo rằng kiểu Java có các thuộc tính bất biến thực hiện Externalizable và kiểu ActionScript tương đương thực hiện IExternalizable.

+0

Cảm ơn Graeme. Tôi đến cùng một kết luận. Tôi không cho rằng bạn biết về bất kỳ kế hoạch cho writeReplace và readResolve để được xử lý một cách chính xác bởi LCDS trong tương lai là bạn? –

2

Không có kế hoạch để xử lý các writeReplace và readResolve, nhưng bạn có thể yêu cầu một yêu cầu tính năng http://bugs.adobe.com/jira/browse/BLZ

Khi thực hiện tuần tự tùy chỉnh của bạn chăm sóc mà bạn sẽ mất một số quyền lợi như nén số và xác định chuỗi trùng lặp. Một ý tưởng là hãy xem xét cơ chế tuần tự hóa thực tế và sửa đổi nó cho phù hợp.

Tuy nhiên, nếu bạn quan tâm đến chỉ trong serializing chỉ tính đọc tăng cường này được thực hiện trong BlazeDS, hãy xem ở đây: http://bugs.adobe.com/jira/browse/BLZ-427

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