Hi, I too use OrientDB under OSGI (latest version of Equinox). I used karaf on and off but moved to 3.1+. I ran into the same problems you had and now I basically combine all orientdb jars into one jar and create a manifest with all of the correct imports/exports since maintaining individual orientdb jars between releases was a nightmare. This greatly simplified things but I have to be careful of any package changes and META-INF service file changes.
I also got Spi-Fly to work so that the services load correctly even across jars so you might want to look into that if you haven't already. I side stepped the snappy issue by not using it. I believe -Dstorage.compressionMethod=gzip along with combining the jars to resolve the service loading and/or package import/exports fixed the problem. I left snappy as a separate jar but updated the manifest. After glancing at it I believe the following manifest line in snappy caused an issue: Export-Package: org.xerial.snappy;uses:="org.osgi.framework";version="1.1.0.1" That is fixed by simply removing ";version="1.1.0.1". That looks like a bug in their manifest to me... I run on lots of different platforms now without an issue. After much pain I think I figured most stuff out around release 1.7.3. I'm on 1.7.8 now. On Tuesday, August 26, 2014 4:06:47 PM UTC-4, amoore wrote: > > Well, upgrading has caused many more OSGi dependency issues that we > haven't been able to solve. We are going to downgrade back to the 1.7rc2 > version, as I think the solution of registering the graph functions will > still work. > > Specifically, we are having trouble running 1.7.8 in apache karaf (2.3.2) > because of the dependence on the org.xerial.snappy snappy-java library. We > initially couldn't run on OSX without duplicating a file in the snappy > library and re-packaging it. Then, it failed to run for the same reason on > windows server 2012. > > We've tried configuring OrientDB to use 'nothing' and 'gzip' compression > modes, as well as removing the org.xerial.snappy dependency from the > orientdb-core library's manifest file. > > We had no luck running on windows with it, and I'm sort of wondering why > the org.iq80.snappy version (which is a pure java port, and does not > include specific platform compilations) isn't the one used by OrientDB? I > can't switch to it because OrientDB's OSnappyCompression class specifically > imports the org.xerial.snappy version. > > Not sure what help the ODB folks can give us at this point, but maybe the > feedback is useful for future releases... > > Any other insights or help would be greatly appreciated, or else we'll be > stuck on 1.7rc2 for a while until we find another option. > > Regards, > > Andrew > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
