Хорошо, было немного сложнее работать из коробки с SMX, так как SMX не предоставляет пакет из JVM, который нужен DNS-пакету.Таким образом, вы получите ошибку, подобную этой:
ERROR: Error starting file:bundles/dnsjava_2.1.1.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle dnsjava [69]: Unable to resolve 69.0: missing requirement [69.0] package; (package=sun.net.spi.nameservice))
org.osgi.framework.BundleException: Unresolved constraint in bundle dnsjava [69]: Unable to resolve 69.0: missing requirement [69.0] package; (package=sun.net.spi.nameservice)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3404)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1714)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1143)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Thread.java:680)
Итак, вам нужно настроить конфигурацию SMX в файле etc / jre.properties
Добавить следующее
sun.net.spi.nameservice
К экспортированным пакетам платформы Java, например, мой файл теперь оканчивается на
org.xml.sax, \
org.xml.sax.ext, \
org.xml.sax.helpers, \
sun.net.spi.nameservice
. Чтобы изменения вступили в силу, необходимо перезапустить ESB.
Чтобы установитьcamel-dns, вам сначала нужно установить необходимые зависимости, которые также являются junit.Вот этот пакет: http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.junit/4.10_1/
На базовом Apache Karaf 2.2.5 мне удалось установить его
karaf@root> osgi:list
START LEVEL 100 , List Threshold: 50
ID State Blueprint Spring Level Name
[ 49] [Active ] [ ] [ ] [ 60] Apache ServiceMix :: Bundles :: junit (4.10.0.1)
[ 50] [Active ] [ ] [ ] [ 60] dnsjava (2.1.1)
[ 65] [Active ] [ ] [ ] [ 50] camel-core (2.10.0.SNAPSHOT)
[ 66] [Active ] [Created ] [ ] [ 50] camel-karaf-commands (2.10.0.SNAPSHOT)
[ 73] [Active ] [ ] [ ] [ 50] geronimo-jta_1.1_spec (1.1.1)
[ 74] [Active ] [ ] [ ] [ 50] camel-spring (2.10.0.SNAPSHOT)
[ 75] [Active ] [ ] [ ] [ 60] camel-dns (2.10.0.SNAPSHOT)
[ 76] [Active ] [ ] [Started] [ 60] IPCheck.xml (0.0.0)
И я скопировал примерный маршрут Camel IPCheck.xml изздесь: https://svn.apache.org/repos/asf/camel/trunk/components/camel-dns/src/test/resources/, в каталог развертывания и запуск приложения Camel:
karaf@root> camel:context-list
Name Status Uptime
[camel ] [Started ] [22.339 seconds ]
karaf@root> camel:context-info camel
Camel Context camel
Name: camel
Version: 2.10-SNAPSHOT
Status: Started
Uptime: 25.835 seconds
Advanced
Auto Startup: true
Starting Routes: false
Suspended: false
Tracing: true
Properties
Components
direct
mock
dns
spring-event
Endpoints
direct://start
dns://ip
mock://result
spring-event://default
Routes
IPCheck