GWT RPC - Enum или логическое значение - PullRequest
0 голосов
/ 06 июня 2011

Эй, мне нужно отправить объект через RPC, и мне нужно включить enum с 2 типами или логическое значение. Перечисление гораздо более читаемо и понятно, но логическое значение может отправлять меньше данных. Я хотел бы пойти на эффективность.

Кроме того, я немного незнаком со всем, что передается через вызов RPC. Если бы я использовал enum, было бы вредно включать объявление enum внутри фактического класса, который передает объект, или я должен поместить это в отдельный файл?

1 Ответ

3 голосов
/ 06 июня 2011

Я бы не стал беспокоиться об эффективности запроса. Заголовок http, если он намного больше, чем запрос gwt, даже если вы отправили несколько перечислений. Это (слегка анонимный) вызов rpc в нашем проекте (перечисление выделено жирным шрифтом):

7 | 0 | 6 | http://localhost:8080/project/webapp/|71407A43DECFAED2BC6095696471246F|com.ourCompanyName.common.service.FooClassObjectService|getNewElementFromParent|com.ourCompanyName.common.types.ElementTypeEnum/1588786841|J|1|2|3|4|2|5|6|5|2|BjH3|

Как видите, это очень маленькая часть запроса. URL / путь для rpc намного больше.

Я бы порекомендовал определить перечисление в отдельном классе. В зависимости от того, как настроен ваш проект, перечисления, используемые для параметров, должны быть определены в части кода, доступной как для внешнего интерфейса, так и для внутреннего интерфейса. (У нас есть проект под названием common, который определяет rpc, используемые перечисления, модель данных, используемую для передачи, и другой проект для всего кода gwt, который использует общий проект, но не проект базы данных, проект службы и т. Д., Которые являются java только.)

...