Class loading issue while creating embedded cache manager instance in OSGi container

Latest response

Hi,

Our project runs on OSGi container(Apache karaf) and I'd deployed the required Infinispan components taken from JDG 6.2.1 library. The components deployment was successful but while creating a embedded cache manager instance during runtime, we get the below ClassNotFoundException:

org.infinispan.commons.CacheConfigurationException: Unable to instantiate class org.infinispan.remoting.transport.jgroups.JGroupsTransport

Caused by: java.lang.ClassNotFoundException: org.infinispan.remoting.transport.jgroups.JGroupsTransport
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_45]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_45]
at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_45]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
at java.lang.Class.forName0(Native Method)[:1.7.0_45]
at java.lang.Class.forName(Class.java:270)[:1.7.0_45]
at org.infinispan.commons.util.Util.loadClassStrict(Util.java:122)
at org.infinispan.commons.util.Util.loadClass(Util.java:83)

We also observed that this class exists in the infinispan-core jar. Thus it raises a question whether JDG 6.2.1 artifacts can be used in OSGi environment?

Please share your thoughts.

Thanks!

Responses