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
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to