Так что после перерыва я вернулся и занялся этим с еще несколькими членами моей команды.
Короче говоря, мы успешно получили Tomcat в ServiceMix с использованием SpringDM.
Я перечислю некоторые ошибки, которые я сделал, пытаясь настроить это.
1) Функция обновления ServiceMix повторно анализирует POM, поэтому фрагменты будут разрешены только после обновления их хоста. Вот почему мои все еще были установлены
2) Мне фактически не нужен ни один из двух фрагментов, для обоих фрагментов есть значения по умолчанию, подходящие для запуска в tomcat.
3) Мне не хватало пакета catalalina.start.osgi, который требовался для предоставления услуг tomcat слою osgi и, в частности, веб-расширителю Spring DM. Однако я пропустил это, потому что я пропустил 3 ключевых репозитория. Вот наша информация о Nexus на этих репозиториях:
Repository ID: springframework.osgi
Repository Name: Springframework OSGI
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://maven.springframework.org/osgi/
Repository ID: com.springsource.repository.bundles.release
Repository Name: SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/bundles/release/
Repository ID: com.springsource.repository.bundles.milestones
Repository Name: SpringSource Enterprise Bundle Repository - SpringSource Bundle Milestones
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/bundles/milestone/
у нас также есть 4 других репозитория SpringSource Enterprise (на всякий случай0
Repository ID: com.springsource.repository.bundles.external
Repository Name: SpringSource Enterprise Bundle Repository - External Bundle Releases
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/bundles/external/
Repository ID: com.springsource.repository.libraries.external
Repository Name: SpringSource Enterprise Bundle Repository - External Library Releases
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/libraries/external/
Repository ID: com.springsource.snapshot
Repository Name: SpringSource Enterprise Bundle Repository - SpringSource Bundle Snapshots
Repository Type: proxy
Repository Policy: Snapshot
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/bundles/snapshot/
Repository ID: com.springsource.repository.libraries.release
Repository Name: SpringSource Enterprise Bundle Repository - SpringSource Library Releases
Repository Type: proxy
Repository Policy: Release
Repository Format: maven2
Contained in groups:
Public Repositories
Remote URL: http://repository.springsource.com/maven/libraries/release/
Итак, мы добавили эти два фрагмента в комплект каталины в дополнение к койоту на сервисном миксе:
<bundle>mvn:org.springframework.osgi/catalina.start.osgi/1.0.0</bundle>
<bundle>mvn:org.apache.jasper/com.springsource.org.apache.jasper/6.0.24</bundle>
для jsp требуется комплект яшмы
4) После добавления пакетов, обновления и перезапуска соответствующих пакетов Tomcat встал и работает нормально. мы могли бы нажать localhost: 8080 и пустую страницу. Мы решили попробовать и развернуть простое веб-приложение, которое входит в комплект поставки Spring-DM, здесь:
http://www.springsource.org/osgi
После решения некоторых проблем с зависимостями мы смогли очистить и собрать это веб-приложение и развернуть его. В нашей среде Ubuntu вы можете увидеть, как она взрывает войну в каталог / tmp /, из которого она будет обслуживать веб-приложение. К сожалению, после некоторой отладки Tomcat мы получили 404 секунды, пытаясь набрать http://localhost:8080/simple-web-app/, и мы поняли, что эта установка tomcat почему-то не отображает обычную информацию сервлета web.xml по умолчанию. Итак, пока что нам нужно было включить сервлет по умолчанию в web-приложение нашего веб-приложения:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- The mapping for the default servlet -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
Дальнейшее изучение того, почему нашему образцу приложения не удалось найти сервлеты по умолчанию, приведено здесь:
http://forum.springsource.org/showthread.php?p=328657#post328657
Таким образом, в этот раз мы, кажется, уже собрали все и работали с работающими тегами-библиотеками, как требуется, учитывая этот весенний пример. Хотя нам все еще приходится пытаться использовать путь к классам OSGi для загрузки ресурсов или использовать службы OSGi из веб-приложения, у нас по крайней мере есть первый шаг вниз.
Обратите внимание, что эта ссылка была очень полезна для проверки того, что я сделал, даже если мы не используем Wicket.
http://kevinwebber.ca/blog/2009/11/11/wicket-osgi-and-spring-dm.html#references
извините за ссылки, stackoverflow не даст мне больше 1 ..