При работе с любой программой может возникнуть непреодолимое желание заглянуть в её исходники. Вот и при работе с Google App Engine SDK for Java я неоднократно ловил себя на мысли: насколько проще было бы работать, смотря прямо в его код. Как заглянуть в исходники любого Java-класса?
- На текущий момент существует один, самый лучший бесплатный декомпилятор Java. Fernflower. Это ограниченная бета в виде онлайн-сервиса. Сразу предупреждаю, в Google Chrome не работает. Дефект верстки, используйте другие браузеры.
- Итак, декомпилятор есть. Но он не принимает файлы размером более 5Мб, а в SDK файлы больше. Обойти это ограничение достаточно просто. Jar-файлы это просто zip-архивы. Причем плохо сжатые. Берем лучший бесплатный архиватор 7-zip и пережимаем jar-файлы. Результат впечатляет – 7-zip жмет в два раза сильнее.
- Скармливаем новый архив декомпилятору и через три минуты скачиваем результат декомпиляции, тоже в виде архива. Открываем, поражаемся качеству декомпиляции, подключаем к эклипсу.
- Profit!
Пока нашел два интересных момента:
- Неполная реализация JCache: CacheEntry ничего не умеет. Пришлось написать обертку для getLastUpdateTime().
- Внутри SDK лежит очень интересная библиотека google-collections в виде пакета com.google.appengine.repackaged.com.google.*
3 коммент.:
Привет, тоже интересуюсь GAE кинь архив на почту, если не сложно fivigСОБАКАmailточкаru. Ты разобрался как работать с pagination on java с гугловским биг тэйблом?
Честно говоря не понял, что кинуть. Декомпилированные исходники? Или свою доработку кеширования?
Второе - рано, я ещё не протестировал модуль.
Первое - поздно, вышел свежий SDK 1.2.5, нужно декомпилировать снова. Да ты и сам это можешь сделать, я же описал как: перешимаешь любым нормальным зипом и скармливаешь декомпилятору.
С pagination пока не разбирался - не было необходимости.
Отправить комментарий