Караф & Пакс Веб-причал 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>