You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Ralf Steppacher (JIRA)" <ji...@apache.org> on 2016/05/09 06:58:13 UTC
[jira] [Created] (KARAF-4522) Instanciating class fails on first
try but succeeds on second attempt: java.lang.IllegalStateException:
Unknown protocol: mvn
Ralf Steppacher created KARAF-4522:
--------------------------------------
Summary: Instanciating class fails on first try but succeeds on second attempt: java.lang.IllegalStateException: Unknown protocol: mvn
Key: KARAF-4522
URL: https://issues.apache.org/jira/browse/KARAF-4522
Project: Karaf
Issue Type: Bug
Components: karaf-core
Affects Versions: 4.0.5
Environment: OSX El Capitan, IBM JDK 8, Camel 2.16.3, Blueprint
Reporter: Ralf Steppacher
I am trying to deploy a bundle that starts a Camel context via a Blueprint context file. The bundle depends on a custom Camel component to subscribe to LDAP updates, which again depends on the UnboundID SDK.
{noformat}
bundle: camel context --> bundle: custom camel component --> bundle: UnboundID SDK
{noformat}
The UnboundID SDK offers a call-back interface {{DisconnectHandler}} which I implement in the custom camel component. In the call-back implementation I spawn a new thread that attempts to re-establish the connection at a certain interval. Instantiating this thread fails consistently on the first attempt, but always succeeds on the second.
If I wrap the call to {{new ReconnectionThread}} in a loop like so:
{code:java}
success = false;
while(!success) {
try {
ReconnectThread rt = new ReconnectThread(...);
success = true;
} catch (Exception e) {
LOG.warn("Failed to spawn LDAP re-connection thread.", e);
}
}
{code}
Then the first attempt fails consistently while the second time around it consistently succeeds.
The exception I receive is the following:
{noformat}
2016-05-09 08:37:24,492 | WARN | dap:389 (closed) | ReconnectingDisconnectHandler | 53 - ch.vivates.ams.camel-uldap - 4.0.9.SNAPSHOT | | Failed to spawn LDAP re-connection thread.
java.lang.IllegalStateException: Unknown protocol: mvn
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)[org.apache.felix.framework-5.4.0.jar:]
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)[org.apache.felix.framework-5.4.0.jar:]
at java.net.URL.toExternalForm(URL.java:929)[:1.8.0_77]
at java.net.URL.toString(URL.java:915)[:1.8.0_77]
at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:678)[:1.8.0_77]
at java.lang.ClassLoader.defineClass(ClassLoader.java:762)[:1.8.0_77]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2370)[org.apache.felix.framework-5.4.0.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2154)[org.apache.felix.framework-5.4.0.jar:]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1542)[org.apache.felix.framework-5.4.0.jar:]
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.4.0.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)[org.apache.felix.framework-5.4.0.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_77]
at ch.vivates.ams.camel.compoment.uldap.unboundid.ReconnectingDisconnectHandler.handleDisconnect(ReconnectingDisconnectHandler.java:44)[53:ch.vivates.ams.camel-uldap:4.0.9.SNAPSHOT]
at com.unboundid.ldap.sdk.DisconnectInfo.notifyDisconnectHandler(DisconnectInfo.java:149)[56:com.unboundid.ldap.sdk.se:3.1.1]
at com.unboundid.ldap.sdk.LDAPConnectionInternals.close(LDAPConnectionInternals.java:665)[56:com.unboundid.ldap.sdk.se:3.1.1]
at com.unboundid.ldap.sdk.LDAPConnection.setClosed(LDAPConnection.java:4431)[56:com.unboundid.ldap.sdk.se:3.1.1]
at com.unboundid.ldap.sdk.LDAPConnectionReader.closeInternal(LDAPConnectionReader.java:1089)[56:com.unboundid.ldap.sdk.se:3.1.1]
at com.unboundid.ldap.sdk.LDAPConnectionReader.run(LDAPConnectionReader.java:444)[56:com.unboundid.ldap.sdk.se:3.1.1]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)