Hi All,
I am working on a distributed file storage system using the Java Netty
framework. For this purpose i have Raik KV as an in memory storage solution.
Following jar dependencies are present in my build path :
jackson-all-1.8.5.jar
netty-all-4.0.15.Final.jar
slf4j-api-1.7.2.jar
slf4j-simple-1.7.2.jar
protobuf-java-2.6.1.jar
json-20160212.jar
riak-client-2.0.5.jar
When i try initiate connection with the riak node. The connection attempt is
successful but when i try to store the object in Riak KV. I keep getting the
following NoClassDefFoundError. I am not sure why these errors arrive though i
have included all the jars. Do we require apart from riak-client X.X jar any
more dependencies. As per the terminal output I tried to add the dependencies
by downloading the jars. But it just keeps giving me new dependencies error
every time. Kindly help ?
Please see the riak client code in java to store the file object
package gash.router.inmemory;
import com.basho.riak.client.api.RiakClient;
import com.basho.riak.client.api.commands.kv.DeleteValue;
import com.basho.riak.client.api.commands.kv.FetchValue;
import com.basho.riak.client.api.commands.kv.StoreValue;
import com.basho.riak.client.core.RiakCluster;
import com.basho.riak.client.core.RiakNode;
import com.basho.riak.client.core.query.Location;
import com.basho.riak.client.core.query.Namespace;
import com.basho.riak.client.core.query.RiakObject;
import com.basho.riak.client.core.util.BinaryValue;
import java.net.UnknownHostException;
public class RiakClientHandler {
private static RiakCluster setUpCluster() throws UnknownHostException{
// This example will use only one node listening on
localhost:8098--default config
RiakNode node = new RiakNode.Builder()
.withRemoteAddress("127.0.0.1")
.withRemotePort(8098)
.build();
// This cluster object takes our one node as an argument
RiakCluster cluster = new RiakCluster.Builder(node)
.build();
// The cluster must be started to work, otherwise you will see errors
cluster.start();
return cluster;
}
private static class RiakFile{
public String filename;
public byte[] byteData;
}
public static void saveFile(String filename,byte[] byteData)
{
try{
System.out.println("Inside Riak handler");
RiakCluster cluster = setUpCluster();
RiakClient client = new RiakClient(cluster);
RiakFile newFile = createRiakFile(filename, byteData);
System.out.println("Riak file created");
Namespace fileBucket = new Namespace("files");
Location fileLocation = new Location(fileBucket, filename);
StoreValue storeFile = new
StoreValue.Builder(newFile).withLocation(fileLocation).build();
client.execute(storeFile);
System.out.println("File saved to riak ");
cluster.shutdown();
}
catch(Exception e){
e.printStackTrace();
}
}
private static RiakFile createRiakFile(String filename, byte[] byteData)
{
RiakFile file=new RiakFile();
file.filename=filename;
file.byteData=byteData;
return file;
}
}
The terminal Output error:
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com