You can try changing Bundle-ClassPath of a fragment bundle to actually point to the embedded com.springsource.net.sf.ehcache-1.5.0.jar.
Bundle-ClassPath: .,com.springsource.net.sf.ehcache-1.5.0.jar See if that works. Dmitry On Mon, Jul 13, 2009 at 8:36 PM, William Drew <[email protected]> wrote: > I haven't had any success in solving this issue and no responses from the > list to date so I thought I'd try again with a slightly different > explanation. > > I'm using Ehcache (com.springsource.net.sf.ehcache-1.5.0.jar) in Felix > 1.8.0. using JGroups (com.springsource.org.jgroups-2.5.1.jar) for data > replication. I deploy these bundles on two machines on the network each > running the exact same bundles within Felix. When I add data to the cache on > one of the machines it attempts to replicate it to the other machine running > Ehcache and I get the following: > > *exception=java.lang.IllegalArgumentException: > java.lang.ClassNotFoundException: > net.sf.ehcache.distribution.jgroups.JGroupSerializable > * > So I figured I would create a fragment (jgroupsFrag-1.0-SNAPSHOT.jar) that > would provide this class to the Ehcache bundle. The following is the > manifest from this fragment. > > Manifest-Version: 1.0 > Private-Package: . > Bundle-ClassPath: . > Built-By: wdrew > Tool: Bnd-0.0.311 > Bundle-Name: jgroupsFrag > Created-By: Apache Maven Bundle Plugin > Fragment-Host: com.springsource.org.jgroups > Bundle-Version: 1.0.0.SNAPSHOT > Build-Jdk: 1.6.0_13 > Bnd-LastModified: 1246064720234 > Bundle-ManifestVersion: 2 > Bundle-SymbolicName: com.ss.mother.jgroupsFrag > > Unfortunately when I deploy the fragment I get the same CNFE. The layout of > the jgroupsFrag-1.0-SNAPSHOT.jar is: > > META-INF/MANIFEST.MF > META-INF/ > META-INF/maven/ > META-INF/maven/com.ss.mother/ > META-INF/maven/com.ss.mother/jgroupsFrag/ > META-INF/maven/com.ss.mother/jgroupsFrag/pom.properties > META-INF/maven/com.ss.mother/jgroupsFrag/pom.xml > com.springsource.net.sf.ehcache-1.5.0.jar > > First, is this the correct approach to solving this problem? If so, what > I'm I missing here? > > Any help would be greatly appreciated. > > > William Drew wrote: > >> >> So I’ve finally returned and thanks to the excellent series of articles by >> Ekke at http://ekkescorner.wordpress.com/blog-series/osgi-apps/ I was >> able to capture logging information from JGroups and Ehcache. >> >> On a high level I’m attempting to create a distributed cache using Ehcache >> (com.springsource.net.sf.ehcache-1.5.0.jar) which in turn uses JGroups >> (com.springsource.org.jgroups-2.5.1.jar) to replicate the data across >> machines. >> >> I currently have 2 machines running Felix 1.8.0 with the following >> bundles: >> >> * · com.springsource.antlr-2.7.6.jar >> * · com.springsource.ch.qos.logback.classic-0.9.15.jar >> * · com.springsource.ch.qos.logback.core-0.9.15.jar >> * · com.springsource.edu.emory.mathcs.backport-3.0.0.jar >> * · com.springsource.javassist-3.3.0.ga.jar >> * · com.springsource.javax.mail-1.4.1.jar >> * · com.springsource.javax.servlet-2.5.0.jar >> * · com.springsource.javax.xml.stream-1.0.1.jar >> * · com.springsource.net.sf.cglib-2.1.3.jar >> * · com.springsource.net.sf.ehcache-1.5.0.jar >> * · com.springsource.net.sf.jsr107cache-1.0.0.jar >> * · com.springsource.org.apache.commons.collections-3.2.0.ja >> * · com.springsource.org.dom4j-1.6.1.jar >> * · com.springsource.org.hibernate-3.3.1.GA-1.jar >> * · com.springsource.org.jgroups-2.5.1.jar >> * · com.springsource.slf4j.api-1.5.6.jar >> * · com.springsource.slf4j.bridge-1.5.6.jar >> * · com.springsource.slf4j.org.apache.log4j-1.5.6.jar >> * · contextmanager-1.0-SNAPSHOT.jar >> * · jcl-over-slf4j-1.5.6.jar >> * · jgroupsFrag-1.0-SNAPSHOT.jar >> * · JULToSLF4JBridgeFrag-1.0-SNAPSHOT.jar >> * · LogbackFrag-1.0-SNAPSHOT.jar >> >> When I take these same set of jars and run them in a standard JVM it works >> fine. However when run them inside of Felix (or for that matter Equinox or >> Knoplerfish) I get the following error: >> >> *exception=java.lang.IllegalArgumentException: >> java.lang.ClassNotFoundException: >> net.sf.ehcache.distribution.jgroups.JGroupSerializable* >> >> So it seems that the Ehache bundle is not able to find the >> net.sf.ehcache.distribution.jgroups.JGroupSerializable which is in the >> JGroups bundle. >> >> So I figured I would create a fragment (jgroupsFrag-1.0-SNAPSHOT.jar) that >> would provide this class to the Ehcache bundle. The following is the >> manifest from this fragment. >> >> Manifest-Version: 1.0 >> Private-Package: . >> Bundle-ClassPath: . >> Built-By: wdrew >> Tool: Bnd-0.0.311 >> Bundle-Name: jgroupsFrag >> Created-By: Apache Maven Bundle Plugin >> Fragment-Host: com.springsource.org.jgroups >> Bundle-Version: 1.0.0.SNAPSHOT >> Build-Jdk: 1.6.0_13 >> Bnd-LastModified: 1246064720234 >> Bundle-ManifestVersion: 2 >> Bundle-SymbolicName: com.ss.mother.jgroupsFrag >> >> Apparently I’m doing something wrong here because when I deploy/install >> this fragment I still get the ClassNotFoundException above. >> >> Any ideas where I’m going wrong with this? >> >> >> William Drew wrote: >> >>> Karl, >>> >>> Thanks for the quick response. I was hoping that it was something very >>> simple so I didn't include detailed information. I'll get a more reasonable >>> set of diagnostics and get back asap. >>> >>> Karl Pauls wrote: >>> >>>> Can you give us a little more information about what is going wrong >>>> (like error messages etc.)? Furthermore, are you using the latest >>>> version of felix or are you running on trunk? >>>> >>>> regards, >>>> >>>> Karl >>>> >>>> On Mon, Jun 1, 2009 at 10:22 PM, William Drew <[email protected]> >>>> wrote: >>>> >>>>> I am attempting to use Ehcache within Felix to provide a distributed >>>>> cache >>>>> capability and using JGroups for the replication of the data between >>>>> the >>>>> JVMs. To ensure that my ehcache configuration was correct I ran the >>>>> code >>>>> outside of OSGi. The data is being successfully added to the cache and >>>>> replicated across two JVMs running on separate machines. >>>>> >>>>> The problem is when I run this same code inside a bundle within Felix. >>>>> The >>>>> bundle is started successfully and it all runs fine except for the fact >>>>> that >>>>> I can not seem to get the same connection between the JVMs as I did >>>>> when I >>>>> ran them outside of Felix. JGroups does not seem to be able to connect >>>>> when >>>>> running inside the OSGi container. >>>>> >>>>> Is there some configuration settings within Felix that I need to set in >>>>> order to enable network connections to be established? I'm sure there's >>>>> something simple that I'm missing here. >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

