Hello Friends:
I am trying to setup using the following stack:
1. karaf 2.2.4
2. camel 2.8.2
3. tibco ems 5.0
5. spring 3.0.6
to enable camel route to recieve messages from JMS queue setup on EMS
server, i am trying to instantiate camel jms component.
However, i am getting following error for "ClassNotFoundException"
I had to put tibco jar tibjms-5.0 in deploy folder as it is not osgi
comapatible. karaf wrapped it and shows 'active' status.
I am loading the bundles in correct order to my knowledge and on
bundles:headers i see the packages are being exported/imported correctly.
See below for headers from bundles.
See the following exception and I am stuck at this point, has anyone tried
used Tibco EMS on OSGI/Karaf ? Please suggest.
Cannot instantiate class: com.tibco.tibjms.naming.TibjmsInitialContextFactory
[Root exception is java.lang.ClassNotFoundException:
com.tibco.tibjms.naming.TibjmsInitialContextFactory]
application code:
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.tibco.tibjms.naming.
TibjmsInitialContextFactory");
env.put(Context.PROVIDER_URL, "tibjmsnaming://
vm-bda2-d889.nam.nsroot.net:7222");
// env.put(Context.SECURITY_PRINCIPAL, "user");
// env.put(Context.SECURITY_CREDENTIALS, "password");
Context ctx = new InitialContext(env);
TibjmsConnectionFactory emsConnectionFactory =
(TibjmsConnectionFactory) ctx
.lookup("tml2.inbound.ConnectionFactory");
System.out.println("JMSCOMpononet.....");
log.info("## Creating JMS Component ##");
JmsComponent jms = new JmsComponent();
jms.setConnectionFactory(emsConnectionFactory);
jms.setConcurrentConsumers(5);
for Tibco Ems Jar:
Import-Package =
com.tibco.security;resolution:=optional,
com.tibco.security.ocsp;resolution:=optional,
com.tibco.security.ssl;resolution:=optional,
com.tibco.tibjms;resolution:=optional,
com.tibco.tibjms.naming;resolution:=optional,
com.tibco.tibjms.naming.tibjmsnaming;resolution:=optional,
javax.jms;resolution:=optional,
javax.naming;resolution:=optional,
javax.naming.directory;resolution:=optional,
javax.naming.spi;resolution:=optional,
javax.transaction.xa;resolution:=optional,
javax.xml.parsers;resolution:=optional,
javax.xml.transform;resolution:=optional,
javax.xml.transform.dom;resolution:=optional,
javax.xml.transform.stream;resolution:=optional,
org.w3c.dom;resolution:=optional,
org.xml.sax;resolution:=optional,
org.xml.sax.helpers;resolution:=optional
Export-Package =
com.tibco.tibjms;
uses:="javax.jms,
javax.naming,
javax.xml.transform,
javax.xml.transform.stream,
javax.xml.parsers,
javax.xml.transform.dom,
org.w3c.dom,
com.tibco.tibjms.naming,
org.xml.sax.helpers,
org.xml.sax,
com.tibco.security.ssl,
com.tibco.security,
javax.transaction.xa,
com.tibco.security.ocsp",
com.tibco.tibjms.naming;
uses:="javax.naming,
javax.naming.directory,
com.tibco.tibjms,
org.xml.sax.helpers,
javax.naming.spi,
javax.jms",
com.tibco.tibjms.naming.tibjmsnaming;
uses:="javax.naming,
com.tibco.tibjms.naming,
javax.naming.spi"
for my application jar:
Import-Package =
com.google.inject;version="[1.3,2)",
com.google.inject.binder;version="[1.3,2)",
com.google.inject.name;version="[1.3,2)",
com.tibco.tibjms,
com.tibco.tibjms.naming,
com.tibco.tibjms.naming.tibjmsnaming,
javax.jms,
javax.naming,
org.apache.camel;version="[2.8,3)",
org.apache.camel.builder;version="[2.8,3)",
org.apache.camel.component.jms;version="[2.8,3)",
org.apache.camel.core.osgi;version="[2.8,3)",
org.apache.camel.guice;version="[2.8,3)",
org.apache.camel.impl;version="[2.8,3)",
org.apache.camel.model;version="[2.8,3)",
org.apache.camel.spi;version="[2.8,3)",
org.guiceyfruit.jndi;version="[2.0,3)",
org.guiceyfruit.jndi.internal;version="[2.0,3)",
org.osgi.framework;version="[1.5,2)",
org.slf4j;version="[1.6,2)"