TestRunner

  Search Here
Searching XAP 6.0 Documentation

                                               

TestRunner
package com.gs.example.query;

import java.util.Properties;

import net.jini.core.entry.Entry;
import net.jini.core.lease.Lease;

import com.j_spaces.core.IJSpace;
import com.j_spaces.core.client.SQLQuery;
import com.j_spaces.core.client.SpaceFinder;
import com.j_spaces.core.client.SpaceURL;

public class TestRunner
{

	public static void main(String[] args)
	{
       		int num = 1000;

		try
		{

			// Populate data into the space
			Properties spaceProperties = new Properties();
			spaceProperties.setProperty(SpaceURL.PROPERTIES_SPACE_URL_ARG+".
			"+SpaceURL.NO_WRITE_LEASE, "true");
			spaceProperties.setProperty(SpaceURL.PROPERTIES_SPACE_URL_ARG+".
			"+SpaceURL.GROUPS, "gigaspaces-5.1EE");
			spaceProperties.setProperty(SpaceURL.PROPERTIES_SPACE_URL_ARG+".
			"+SpaceURL.SCHEMA_NAME,"QueryFilter");
			System.out.println("using space configuration overrides:\n" + spaceProperties);
			IJSpace space = (IJSpace) SpaceFinder.find("/./IMDG", spaceProperties);
			System.out.println(" ---> Start write " + num + " entries" );

			for(long i = 0; i < num; i++ )
			{
				Entity entry = new Entity(i);
				entry.setAccountNumber(i);
				entry.setFlags(i);
				space.write(entry, null, Lease.FOREVER);
			}

			System.out.println(" ---> Finish write " + num + " entries" );

			System.out.println(" ---> Start execute  select sum(accountNumber) from Entity where 
			flags <= 5 " + num + " entries" );

			SQLQuery template =  new SQLQuery(Entity.class.getName(),"flags <= 5");
			SumTask sumTask =  new SumTask("accountNumber", template);


			System.out.println(" ---> Read Multiple ");
			// readMultiple returns the results from each partition
			// with read multiple the results would be cached for a certain period of time
			// and will deleted on teh background
			Entry[] results = space.readMultiple(sumTask,null,Integer.MAX_VALUE);
			// execute on client will calculate the total sum
			sumTask.executeOnClient(results);
			System.out.println(" ---> Total Sum = " + sumTask.getTotalSum());


			System.out.println(" ---> Take Multiple ");
			// with take multiple the results would be deleted immediatly
			results = space.takeMultiple(sumTask,null,Integer.MAX_VALUE);
			for (int i=0; i < results.length; i++ )
				System.out.println(" ---> sum(accountNumber) = " + 
				((SumTask)results[i]).getResult() );
			sumTask.executeOnClient(results);
			System.out.println(" ---> Total Sum = " + sumTask.getTotalSum());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

}


GigaSpaces 6.0 Documentation Contents (Current Page in Bold)

    Java

    C++

    .NET

    Middleware Capabilities

    Configuration and Management

Add GigaSpaces wiki search to your browser search engines!
(works on Firefox 2 and Internet Explorer 7)

Labels

 
(None)