Skip to Content
Configuration

Configuration

Query Timeout

GridDataProvider gridDataProvider = new GridDataProvider(dataSource); // Set timeout (default: 30 seconds) gridDataProvider.setQueryTimeout(30); // Get current timeout int timeout = gridDataProvider.getQueryTimeout();

Load Options Validation

LoadOptionsValidator validator = LoadOptionsValidator.builder() .maxSkip(10_000) .maxTake(1_000) .maxFilterDepth(10) .maxFilterConditions(50) .maxGroupFields(5) .maxSortFields(5) .build(); GridDataProvider gridDataProvider = new GridDataProvider(dataSource, validator);

Validation Limits

Default Limits

SettingDefaultAbsolute Max
Max Skip100,0001,000,000
Max Take10,00050,000
Max Filter Depth2050
Max Filter Conditions100500
Max Group Fields1020
Max Sort Fields1020

Custom Validation Example

// Conservative validation for public APIs LoadOptionsValidator validator = LoadOptionsValidator.builder() .maxSkip(10_000) // Only first 10K rows accessible .maxTake(1_000) // Max 1K rows per request .maxFilterDepth(10) // Max 10 levels of nesting .maxFilterConditions(50) // Max 50 filter conditions .maxGroupFields(5) // Max 5 group columns .maxSortFields(5) // Max 5 sort columns .build();

Timeout Configuration

// Conservative timeout for public APIs gridDataProvider.setQueryTimeout(10); // 10 seconds // Standard timeout (default) gridDataProvider.setQueryTimeout(30); // 30 seconds // Relaxed timeout for reporting gridDataProvider.setQueryTimeout(60); // 60 seconds // Disable timeout (not recommended for production) gridDataProvider.setQueryTimeout(0); // No timeout
Last updated on