Караф & Пакс Веб-причал SslConnectionFactory

Я пытаюсь настроить конкретную фабрику контекстов SSL Jetty внутри Karaf (фактически, Fabric8 (www.fabric8.io)).

Я делаю это прямо в файл jetty.xml: <New id="sslContextFactory" class="fr.maatg.pandora.sl.jetty.GridSslContextFactory"> ... </New>

Когда я запускаю контейнер, Pax Web генерирует исключение (полное исключение https://gist.github.com/jrevillard/adb8e0bc0b1e9b568a67):

Caused by: java.lang.ClassNotFoundException: fr.maatg.pandora.sl.jetty.GridSslContextFactory not found by org.ops4j.pax.web.pax-web-jetty [100] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_51] at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:366) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:767) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:404) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:334) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:281) ... 16 more

Может кто-нибудь сказать мне, как я могу использовать мой конкретный завод?

Джером

1 ответ

Решение

Поскольку пакет pax-web-jetty не поддерживает динамический импорт "сторонних" пакетов, вам необходимо создать дополнительный фрагментный пакет, содержащий этот класс, и прикрепить его к пакету pax-web-jetty. Рабочий образец о том, как добавить это к pax-web-jetty, можно найти на образцах pax-web.

Короче говоря, манифест пакета фрагментов должен содержать хост фрагмента. С плагином felix-bundle он должен выглядеть так:

<Fragment-Host>org.ops4j.pax.web.pax-web-jetty</Fragment-Host>
Другие вопросы по тегам