public <T> BlockingQueue<T> registerCq(String cqName,String oql) 
	{
		try
		{
			QueryService queryService = this.clientCache.getQueryService();
			

			// Create CqAttribute using CqAttributeFactory
			CqAttributesFactory cqf = new CqAttributesFactory();

			// Create a listener and add it to the CQ attributes callback defined below
			CqQueueListener<T> cqListener = new CqQueueListener<T>();
			cqf.addCqListener(cqListener);
			CqAttributes cqa = cqf.create();
			// Name of the CQ and its query
			
			// Create the CqQuery
			CqQuery cqQuery = queryService.newCq(cqName, oql, cqa);
			
			cqListener.setCqQuery(cqQuery);

			// Execute CQ, getting the optional initial result set
			// Without the initial result set, the call is priceTracker.execute();
			cqQuery.execute();
			
			return cqListener;
		}
		catch (CqException| CqClosedException |RegionNotFoundException |QueryInvalidException | CqExistsException  e)
		{
		  throw new nyla.solutions.core.exception.SystemException
		  ("ERROR:"+e.getMessage()+" cqName:"+cqName+" oql:"+oql,e);
		}
	}
public <T> BlockingQueue<T> registerCq(String cqName,String oql) 
	{
		try
		{
			QueryService queryService = this.clientCache.getQueryService();
			

			
			CqAttributesFactory cqf = new CqAttributesFactory();

			
			CqQueueListener<T> cqListener = new CqQueueListener<T>();
			cqf.addCqListener(cqListener);
			CqAttributes cqa = cqf.create();
			
			
			
			CqQuery cqQuery = queryService.newCq(cqName, oql, cqa);
			
			cqListener.setCqQuery(cqQuery);

			
			
			cqQuery.execute();
			
			return cqListener;
		}
		catch (CqException| CqClosedException |RegionNotFoundException |QueryInvalidException | CqExistsException  e)
		{
		  throw new nyla.solutions.core.exception.SystemException
		  ("ERROR:"+e.getMessage()+" cqName:"+cqName+" oql:"+oql,e);
		}
	}
public < T > BlockingQueue < T > registerCq ( String cqName , String oql ) { try { QueryService queryService = this . clientCache . getQueryService ( ) ; // Create CqAttribute using CqAttributeFactory CqAttributesFactory cqf = new CqAttributesFactory ( ) ; // Create a listener and add it to the CQ attributes callback defined below CqQueueListener < T > cqListener = new CqQueueListener < T > ( ) ; cqf . addCqListener ( cqListener ) ; CqAttributes cqa = cqf . create ( ) ; // Name of the CQ and its query // Create the CqQuery CqQuery cqQuery = queryService . newCq ( cqName , oql , cqa ) ; cqListener . setCqQuery ( cqQuery ) ; // Execute CQ, getting the optional initial result set // Without the initial result set, the call is priceTracker.execute(); cqQuery . execute ( ) ; return cqListener ; } catch ( CqException | CqClosedException | RegionNotFoundException | QueryInvalidException | CqExistsException e ) { throw new nyla . solutions . core . exception . SystemException ( "ERROR:" + e . getMessage ( ) + " cqName:" + cqName + " oql:" + oql , e ) ; } }
------------------------------------------------
------------------------------------------------