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]

Reply via email to