Возможно ли запустить средний сервер приложений Java напр. jboss или стеклянная рыба на малиновой пи? Любые ограничения? Кто-нибудь имеет опыт разработки Java для малины pi?
По крайней мере, любая подходящая JVM для RPi будет приятной.
Возможно ли запустить средний сервер приложений Java напр. jboss или стеклянная рыба на малиновой пи? Любые ограничения? Кто-нибудь имеет опыт разработки Java для малины pi?
По крайней мере, любая подходящая JVM для RPi будет приятной.
Это абсолютно возможно, но лучше работать с более новыми версиями, имеющими больше памяти (например, 512 МБ версии Pi). В декабре 2012 года Oracle выпустила Предварительный просмотр разработчика Java SE 8 для ARM. Сообщение в блоге с объявлением содержит ссылки на ряд руководств, которые должны помочь вам начать с простого Java SE или JavaFX, в зависимости от того, насколько вы должны выглядеть ваши интерфейсы.
Если вас беспокоит производительность JavaFX на малине Pi, проверьте сообщение в блоге "JavaFX on Raspberry PI" , в котором содержатся некоторые информацию о производительности JavaFX, сравнивая ее с родными приложениями.
Обновление: результаты теста после запуска Tomcat 7 с Java 8 на Pi
После того, как я получил версию Pi (MODELL B) размером 512 МБ, я без проблем установил Java 8 и Tomcat 7.0. Примеры Tomcat работали, и я смог без проблем использовать приложение Tomcat manager.
С 64 МБ ОЗУ, используемой для видеокарты, у меня все еще было 291 МБ свободной памяти (с запуском sshd):
[email protected] ~/ $ free -m
total used free shared buffers cached
Mem: 438 146 291 0 10 74
-/+ buffers/cache: 60 377
Swap: 99 0 99
pmap
сообщил, что в процессе Tomcat используется 192 МБ.
Малина Pi имеет только 185 МБ для всей JVM. (после загрузки, с 16 МБ для обработки видео).
Затем вам нужно использовать аггрессивные и точные параметры памяти (-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true
)
Я сделал приложение на основе Jetty, Spring 3 и Hibernate/JPA. Сразу после развертывания он вмещает около 15 МБ пространства кучи и 32 МБ пространства без кучи (с использованием анализа памяти JProfiler)
Каждый загруженный класс потеряет постоянную память, потому что пространство PermGen не может быть собрано в мусор. Многие классы загружаются только для поддержки инициализации, но будут оставаться навсегда. Возможно, tweeks может найти меньше пространства PermGen для каждого компонента.
Вы действительно можете. Существует сообщение блога о том, что кто-то запускает JBoss EAP (по существу JBoss AS 7) на малине pi.
Я использую TJWS на малине Pi под JRE 1.7, он работает невероятно быстро и без проблем с памятью.
Прямо сейчас, JVM на pi возможен, но издание Java SE трудно найти. Для Oracle может быть один для ARM, но я не пробовал (мой pi все еще на нем), и если память хранит его за стеной.
Другим ограничением для pi является доступная оперативная память; приложения, такие как jboss и glassfish, захотят больше оперативной памяти, чем предоставляет pi, за исключением очень ограниченных развертываний.
Арун Гупта сделал несколько сообщений о запуске JBoss Wildfly on Raspberry Pi.
Ive получил tomcat7, работающий на openjdk с базами данных sqlite. Обработка выполняется примерно на четверть скорости моего ноутбука, но открытие jsp-страниц занимает 10-15 секунд. Пока не знаю почему.