Amichai Rothman created AMQ-4850:
------------------------------------
Summary: 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
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)