Краткий ответ: невозможно.
Немного более длинный ответ: после компиляции кода параметры типа отбрасываются. Таким образом, Java не может знать, что вы там установили. Вы можете, однако, передать рассматриваемый класс своему объекту и оперировать им:
public class A<T> {
private final clazz;
A(Class<T> clazz){
this.clazz = clazz;
}
...
}
Пользователь открывает веб-браузер и получает доступ к вашей веб-странице.
Веб-страница содержит HTTP-форму, которая содержит все информация, необходимая пользователю для загрузки контента в Amazon S3.
Пользователь загружает контент непосредственно в Amazon S3.
GAE подготавливает и обслуживает веб-страницу, что является быстрой операцией. Пользователь загружает файлы в S3, это длительная операция, но это между браузером вашего пользователя и Amazon; GAE не участвует.
Частью протокола S3 является success_action_redirect , который позволяет вам сообщить S3, куда направить браузер в случае успешной загрузки. Это перенаправление может быть на GAE.
Google App Engine и EC2 являются конкурентами. Они делают то же самое, хотя GAE предоставляет среду для работы вашего приложения со строгими языковыми ограничениями, тогда как EC2 предоставляет вам виртуальную машину (подумайте о VMWare), на которой будет размещено ваше приложение.
S3, с другой стороны, является необработанное хранилище api. Вы можете использовать API-интерфейс SOAP или REST для доступа к нему. Если вы хотите придерживаться GAE, вы можете просто использовать Amazon S3 Python Library для выполнения вызовов REST с Python на S3.
Вам, конечно, придется заплатить за использование на S3. Удивительно, насколько детализирован их биллинг. Когда я начинал, с меня взимали буквально 4 цента в месяц.
Некоторые ссылки Google App Engine + S3:
Предыдущий связанный пост ... Ограничение 10 МБ .
Эта ссылка демонстрирует загрузку небольших файлов . Я еще не нашел примера больших загрузок ...
Эта ссылка показывает другой подход, ( с исправлением известной проблемы )
Для дальнейшего использования Google добавил поддержку загрузки больших файлов (до 50 Мб): Новая возможность была выпущена в рамках API Blobstore и обсуждается здесь.
Полагаю, ответ Томаса Л. Холадея - правильный. В любом случае, на всякий случай, вот ссылка на Amazon Web Services SDK для App Engine (Java), которую вы можете использовать, например, для загрузки файлов из App Engine в Amazon S3. ( Редактировать: О, только что заметил - за исключением S3 ) http://apetresc.wordpress.com/2010/06/22/introduction-the-gae-aws-sdk-for-java/
Автор Адриан Петреску.С его веб-сайта:
[ Это ] версия веб-служб Amazon. SDK для Java, который будет работать изнутри Google App Engine. Это не было бы работать, если вы просто включили JAR что AWS предоставляет непосредственно в GAE WAR, потому что модель безопасности GAE не поддерживает протокол Apache Commons HTTP Клиент для создания розеток и низкоуровневые сетевые примитивы требуется установить HTTP связь; вместо этого Google требует вы должны сделать все связи через его утилита URLFetch