Установка Apache Felix в Debian Lenny - Часть 1


Скачал здесь: felix.apache.org/site/downloads.html

В консоли:
mkdir /var/felix
cd /var/felix
wget http://www.sai.msu.su/apache/felix/felix-framework-2.0.1.tar.gz


Порт, на котором будет работать Felix прописан в conf/config.properties:
org.osgi.service.http.port=8080

Вроде все нормально.

Установил Java 5 JDK:
apt-get install sun-java5-jdk


Скачал в bundle jar файлы:
www.sai.msu.su/apache/felix/org.apache.felix.webconsole-2.0.2.jar
www.sai.msu.su/apache/felix/org.apache.felix.http.bundle-2.0.4.jar

Запустил:
java -jar ./bin/felix.jar

Вывод ps:


В итоге порт не открывает 8080. Пробовал ставить Pax, Equinox, Http Service Jetty — они вообще не работают — выдаваю кучу сообщений об ошибке.

Я абсолютный новичок в Java и что мне на вскидку не нравится — так это то что хотели сделать просто и переносимо а получили хрен знает что такое! Может я еще не проникся идеей?

Что делать то???? Выручай yababay!


PS: разобрался, спасибо yababay за помощь!
Продолжение тут.
  • +3
  • 02 декабря 2009, 00:55
  • Sergei_T

Комментарии (12)

RSS свернуть / развернуть
+
0
yababay! аааааааа! ты где!!!
доков нету про Apache Felix даж нормальных
avatar

Sergei_T

  • 02 декабря 2009, 12:50
+
0
Мде — вот она — простая и переносимая Java
avatar

Gangsta

  • 02 декабря 2009, 13:07
+
+1
Превед честной компании! У вас что, Инет сегодня был не смотря на аварию кабеля между Нижнекамском и Челнами? Счастливые люди. У меня только что появился.

Феликс, граждане, сам по себе ничего не делает. Это как шина, в которую втыкаются различные приложения, упакованные в jar-архивы (т.н. бундле). Есть среди них и веб-сервер Jetty, но судя по аутпуту он у тебя не подключен. Нужно добавить в каталог с jar-файлами org.apache.felix.http.jetty-2.0.2.jar (скачать всё там же можно), в параметр конфига felix.auto.start.1 добавить нечто вроде file:bin/org.apache.felix.shell-1.0.2.jar и тогда на порту 8080 появятся признаки жизни

Вкратце объясню чем хорош Феликс. Я, как известно, в последние несколько месяцев писал GPS-систему для Мосвкы. В ее состав входит т.н. GPS-демон, к которому постоянно приходилось подключать какие-то новые устройства. При этом начиналась неизбежная отладка, влиявшая на стабильность работы уже имеющихся устройств. Т.е. приходилось всё останавливать, пересобирать архивы, вновь запускать демон и так многие часы, а порой и дни. Естественно, уже подключенные клиенты возмущались такими остановками. А вот Феликс как раз и позволяет динамически подключать и обновлять новые модули не трогая уже работающие. Кроме того, модули могут обмениваться объектами (например, использовать общий пул баз данных или напрямую предоставлять данные http-серверу) и т.п. Короче говоря, нужно мне собираться с силами и писать подробную статью.

А собрал и установил ты всё правильно и увидел то, что и должен был увидеть.

ЗЫ. Java действительно простая и переносимая. Просто некоторые ее удобства неочевидны, к ним приходишь лишь до одури наизобретавшись велосипедов и набив шишек.

ЗЗЫ. Apache веников не вяжет ;).
avatar

yababay

  • 02 декабря 2009, 23:06
+
0
Привет! Интернет только вечером появился у меня
Я пробовал ставить bundle jetty — он выдавал кучу ошибок
Разве http bundle это не тот же web сервер — у меня
нормально стал запускаться только он (((
Вообще идея была поставить web console по адресу javalabs.mtaalamu.ru:8080 чтобы желающие могли отлаживать
проекты свои. Может там есь отладчик или еще что — вроде
Zend Server для PHP?
avatar

Sergei_T

  • 02 декабря 2009, 23:17
+
+1
Не, «желающие отлаживать» — так не пойдет, это не безопасно. Если у человека есть проект — нужно его хорошенько протестировать в «песочнице», и лишь потом публиковать. А вот публиковать как раз легко: человек упаковывает свой проект в бундле и одной командой Феликса вводится в строй.

Что касается Jetty, то даже если ты его запустишь — это мало что даст. Разве что увидишь надпись типа «Powered by Jetty». Проект надо упаковать особым образом. Вот тогда он превратится в полноценное веб-приложение. Если будем развивать Java-хостинг, то необходимые инструкции я напишу.
avatar

yababay

  • 02 декабря 2009, 23:51
+
+1
Не, «желающие отлаживать» — так не пойдет, это не безопасно. Если у человека есть проект — нужно его хорошенько протестировать в «песочнице», и лишь потом публиковать. А вот публиковать как раз легко: человек упаковывает свой проект в бундле и одной командой Феликса вводится в строй.

Что касается Jetty, то даже если ты его запустишь — это мало что даст. Разве что увидишь надпись типа «Powered by Jetty». Проект надо упаковать особым образом. Вот тогда он превратится в полноценное веб-приложение. Если будем развивать Java-хостинг, то необходимые инструкции я напишу.

Кстати говоря, это хороший бизнес. Аналогичные услуги у буржуев стоят порядка $14 в месяц «с носа». Суйчас в связи с кризисом может и дешевле, но вряд ли намного.
avatar

yababay

  • 02 декабря 2009, 23:54
+
0
Были-бы хорошие идеи а сервис поднять можно

Java хостинг за деньги — это не просто оборудование и
ПО, но и еще много головной боли другого плана —
оформление, гарантии и тому подобные вещи. Вообще IT
бизнес в нашей стране — дело весьма сомнительное.
Технологии современные мало кому нужны в России ИМХО
к сожалению(((
avatar

Sergei_T

  • 03 декабря 2009, 01:05
+
0
Вообще, я занимаюсь этим всем не ради того,
чтобы сделать быдло-портал или быдло-трекер и
в итоге продавать рекламу «как долго не кончать»
Выгода тут косвенная — самообразование, мощная
команда профессионалов, новые идеи.

Мне нравится пример Ubuntu — развитие технологий,
никакой рекламы или пиара в чью либо пользу, но при
этом — это самый популярный дистрибутив.

И вообще, мне надоел наш рунет — куча троллей,
быдло-порталов, уже на серьезных сайтах кишит
маркетгайд — по-моему рунет тупеет и деградирует
avatar

Sergei_T

  • 03 декабря 2009, 01:12
+
+1
Согласен. Множество гениальных изобретений (деньги, автомобиль, электричество) попали в руки идиотов и превратились в кошмар. С Инетом происходит то же самое. Отсюда мораль: прогресс сам по себе не есть добро. Главное — отношения между людьми, а в этом плане современные люди даже пещерным уступают. В том числе, кажется, и я.
avatar

yababay

  • 03 декабря 2009, 09:28
+
0
Все равно не запускается jetty может еще какие-то пакеты нужны?
ERROR: Error starting file:/var/felix/bundle/org.apache.felix.http.jetty-2.0.4.jar (org.osgi.framework.BundleException: Activator start error in bundle org.apache.felix.http.jetty [2].)
java.lang.NoClassDefFoundError: org/osgi/service/cm/ManagedService
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1787)
	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:682)
	at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at org.apache.felix.http.jetty.internal.JettyActivator.doStart(JettyActivator.java:30)
	at org.apache.felix.http.base.internal.AbstractActivator.start(AbstractActivator.java:41)
	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:639)
	at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
	at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)
	at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.osgi.service.cm.ManagedService
	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:73<img class="smile" src="/images/smilies/dirol.gif" />
	at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

avatar

Sergei_T

  • 03 декабря 2009, 14:54
+
+2
Сейчас отдохну после школы и примусь за статью. К ней приложу необходимые файлы. Ночью будет готова, надеюсь
avatar

yababay

  • 03 декабря 2009, 15:15
+
+1
Было бы неплохо
вообще как-то странно — я посмотрел на страницу загрузки Felix'а — если все до такой степени измельчено на отдельные кусочки — между ними должны быть зависимости какие-то. А вывод ошибки, который выложил Sergei_T мне, например, как Cшнику тоже ни о чем ни говорит
avatar

Gangsta

  • 03 декабря 2009, 15:35

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.