Я имею обычное JAVA-приложение и хочу получить доступ к конечной точке RPC GWT. Какая-либо идея, как заставить это произойти? Мое приложение GWT находится на GAE/J, и я мог использовать REST, например, но я уже имею конечные точки RPC GWT и не хочу создавать другой фасад.
Да, я видел, Вызывают сервис GWT RPC от Java непосредственно, но это обсуждение входит в другое направление.
Реализация Java в GWT протокола RPC в пакетах com.google.gwt.user.server.rpc
и com.google.gwt.user .server.rpc.impl
К сожалению, охватывает только десериализацию запросов и сериализацию ответов. Настоящая работа проводится в классах сервесариализацияStreamreader
и сервесариализацияStreamwriter
(каждая ок. 750 строк кода).
Чтобы реализовать клиента, вы, очевидно, нужно сериализировать запрос и десериализовать ответ, но поскольку нет документации, доступных для протокола и AFAIK, доступных для реализаций клиента Java, вам, вероятно, придется реверсировать инженера (DE) сериализацию Классы и напишите свой собственный код, чтобы сделать все «наоборот».
Вы можете найти некоторую высокую информацию о протоколе здесь
Другими словами, гарантируется ли инициализация членов по порядку объявления и уничтожение в обратном порядке?
Да для обоих. См. 12,6,2
-121--710159-6 Инициализация должна продолжаться в следующий порядок:
Сначала и только для конструктор наиболее производного класс, как описано ниже, виртуальная база классы должны быть инициализированы в порядок их появления на глубине первым переход слева направо направленный ациклический граф основания классы, где «слева направо» - Порядок появления базового класса имена в производном классе базовый спецификатор-список.
Затем, напрямую базовые классы должны быть инициализированы в порядок декларации, как они появляются в список базовых спецификаторов (независимо от порядок инициализаторов mem).
Затем нестатические члены данных должны быть инициализированы в том порядке, в котором они были объявлен в определении класса (снова независимо от порядка mem-инициализаторы).
Наконец, составная инструкция конструктора выполняют тело. [Примечание: предписание о декларировании убедиться, что базовые и составные подобъекты уничтожаются в обратном порядке инициализация. - примечание]
Реальная разница скоростей отсутствует. Они действительно все одинаковы для компилятора. Разница в том, что люди пытаются использовать и читать твой код.
Для меня это делает bool, true и false лучшим выбором в коде C++. В коде C есть некоторые компиляторы, которые не поддерживают bool (мне часто приходится работать со старыми системами), поэтому я мог бы пойти с определениями в некоторых обстоятельствах.
-121--976075-К сожалению, я думаю, что jarnbjo подходит для того, чтобы восстановить половину RPC-механизма браузера.
В противном случае, если вам придется написать интерфейс REST для удаленных клиентов, вы можете отключить приложение GWT от RPC и использовать там интерфейс REST, а также совместно использовать клиентскую библиотеку между внешними клиентами и клиентским интерфейсом GWT.
GWT SyncProxy позволяет вам доступ к службам GWT RPC (например, методам) из чистого кода Java (не JSNI).
Подробнее см. http://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/ .