[
https://issues.apache.org/jira/browse/AMQ-4850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13842560#comment-13842560
]
Amichai Rothman commented on AMQ-4850:
--------------------------------------
Ok, got some interesting output. It looks like activemq-osgi finds the class
properly:
{quote}
{noformat}
BundleClassLoader[org.apache.activemq.activemq-osgi_5.9.0].loadClass(javax.net.ssl.SSLServerSocket)
BundleLoader[org.apache.activemq.activemq-osgi_5.9.0].loadBundleClass(javax.net.ssl.SSLServerSocket)
{noformat}
{quote}
but a little further down the activemq-web-console bundle fails to find it. So
now there are two issues - why if fails to load the class, and why this causes
the broker itself not to run rather than only the web console.
{quote}
{noformat}
BundleClassLoader[org.apache.activemq.activemq-web-console_5.9.0].loadClass(javax.net.ssl.SSLServerSocket)
BundleLoader[org.apache.activemq.activemq-web-console_5.9.0].loadBundleClass(javax.net.ssl.SSLServerSocket)
BundleLoader[org.apache.activemq.activemq-web-console_5.9.0].findLocalClass(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/bundlefile].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/bundlefile].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/geronimo-jms_1.1_spec-1.1.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/geronimo-jacc_1.1_spec-1.0.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-web-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-pool-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-jms-pool-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-client-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/rome-1.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/jdom-1.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/aopalliance-1.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-console-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-kahadb-store-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-broker-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-openwire-legacy-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-protobuf-1.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-net-3.3.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activeio-core-3.1.4.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-pool-1.6.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/hawtbuf-proto-1.9.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/hawtbuf-1.9.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/jackson-core-asl-1.9.12.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/jackson-mapper-asl-1.9.12.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/velocity-1.7.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-collections-3.2.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-lang-2.6.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/org.apache.servicemix.bundles.josql-1.5_5.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/jasypt-1.9.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-daemon-1.0.15.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/activemq-all-5.9.0.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/xbean-spring-3.14.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/commons-logging-1.1.3.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/core-3.1.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/slf4j-api-1.7.5.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/slf4j-log4j12-1.7.5.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/log4j-1.2.17.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/sitemesh-2.4.2.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/jstl-1.1.2.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/standard-1.1.2.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/xpp3-1.1.4c.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/xstream-1.4.4.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/xmlpull-1.1.3.1.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[/home/amichai/apps/itrade/apache-karaf-2.3.3/data/cache/org.eclipse.osgi/bundles/223/1/.cp/WEB-INF/lib/xpp3_min-1.1.4c.jar].findClassImpl(javax.net.ssl.SSLServerSocket)
BundleClassLoader[org.apache.activemq.activemq-web-console_5.9.0].loadClass(javax.net.ssl.SSLServerSocket)
failed.
java.lang.ClassNotFoundException: javax.net.ssl.SSLServerSocket
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at
org.apache.activemq.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:163)
at
org.apache.activemq.util.IntrospectionSupport.setProperties(IntrospectionSupport.java:151)
at
org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:74)
at
org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:63)
at
org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(FailoverTransportFactory.java:38)
at
org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64)
at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:258)
at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:273)
at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:246)
at
org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:186)
at
com.myproject.bus.activemq.ActiveMQSession.createConnection(ActiveMQSession.java:33)
at com.myproject.messaging.jms.Session.open(Session.java:71)
at com.myproject.messaging.jms.Session$1.run(Session.java:109)
at java.lang.Thread.run(Thread.java:744)
{noformat}
{quote}
> NoClassDefFoundError: javax/net/ssl/SSLServerSocket (in Karaf)
> --------------------------------------------------------------
>
> Key: AMQ-4850
> URL: https://issues.apache.org/jira/browse/AMQ-4850
> Project: ActiveMQ
> Issue Type: Bug
> Components: OSGi/Karaf
> Affects Versions: 5.9.0
> Environment: Oracle JDK 7u45, Karaf 2.3.3 with activemq-broker
> installed from 5.9.0 feature
> Reporter: Amichai Rothman
> Assignee: Jean-Baptiste Onofré
>
> I couldn't find a way to recreate this consistently, but after repeating
> several times the following steps reproduce it:
> 1. Install custom Karaf 2.3.3 from scratch. Customizations include installing
> the activemq-broker feature using the featuresBoot configuration (along with
> a couple other unrelated features), and a dozen or so of my application's
> bundles in the deploy folder.
> 2. Start Karaf - everything works fine.
> 3. Shut down Karaf.
> 4. Touch my application's 'common' bundle (in deploy folder). The other
> application bundles depend on this one. This is *not* the bundle that uses
> ActiveMQ.
> 5. Start Karaf - it first starts all the app bundles (the old version I
> think), then it picks up the modified bundle timestamp and restarts the app
> bundles in what appears to be arbitrary order. This usually works, but once
> in a while the app's 'bus' bundle (which connects to ActiveMQ) fails to start
> with this exception showing up in the logs.
> 6. Interestingly, restarting the app or activemq bundles, or even restarting
> Karaf itself, doesn't fix things - once it enters this invalid state, it
> seems to stay stuck in it and continues with the same exception and with the
> app unable to connect to ActiveMQ. However, if I shut down Karaf and once
> again touch my app's 'common' bundle in the deploy folder and then start up
> Karaf again, it restarts the app bundles and this time everything goes back
> to normal, with a successful connection to ActiveMQ. So it looks like while
> the first occurrence is not recreated consistently, this state is not just a
> runtime thing but remains persisted somehow for as long as the app bundle
> files aren't modified.
> Here is the stack trace:
> java.lang.NoClassDefFoundError: javax/net/ssl/SSLServerSocket
> at
> org.apache.activemq.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:163)
> at
> org.apache.activemq.util.IntrospectionSupport.setProperties(IntrospectionSupport.java:151)
> at
> org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:74)
> at
> org.apache.activemq.transport.failover.FailoverTransportFactory.createTransport(FailoverTransportFactory.java:63)
> at
> org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(FailoverTransportFactory.java:38)
> at
> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64)
> at
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:258)
> at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:273)
> at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:246)
> at
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:186)
> ...
--
This message was sent by Atlassian JIRA
(v6.1#6144)