Java Dataloader Versions Save

A Java 8 port of Facebook DataLoader

v3.3.0

1 month ago

What's Changed

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.2.2...v3.3.0

v3.2.2

6 months ago

What's Changed

A series of small fixes to make the code more efficient

New Contributors

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.2.1...v3.2.2

v3.2.1

7 months ago

New ticker mode

There is a new mode in ScheduledDataLoaderRegistry called ticker mode that will continue to tick away and allow for chained data loader calls. See the readme for more details.

  ScheduledDataLoaderRegistry registry = ScheduledDataLoaderRegistry.newScheduledRegistry()
        .register("a", dataLoaderA)
        .register("b", dataLoaderB)
        .scheduledExecutorService(executorService)
        .schedule(Duration.ofMillis(10))
        .tickerMode(true) // ticker mode is on
        .build();

  CompletableFuture<Object> chainedCalls = dataLoaderA.load("user1")
        .thenCompose(userAsKey -> dataLoaderB.load(userAsKey));

Predicates per dataloader in ScheduledDataLoaderRegistry

ScheduledDataLoaderRegistry now has the capability to have a predicate per data loader specified as well as an overall one. This allows you to have fine control on when dataloaders get dispatched.

What's Changed

New Contributors

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.2.0...v3.2.1

v3.2.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.1.4...v3.2.0

v3.1.4

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.1.3...v3.1.4

v3.1.3

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/graphql-java/java-dataloader/compare/v3.1.2...vv3.1.3

v3.1.2

2 years ago

This fix release prevents excessive object allocation in the no-op ValueCache

v3.1.1

2 years ago

Small bugs fixes and the ability to prime the cache

3.1.0

2 years ago

ValueCache is called in batch function

The 3.x version of DataLoader added a long wanted feature. The ability to have an external cache of values.

It was rightly made an async operation to get cache entries.

However we got the code design wrong and called the caching during the dataLoader.load() calls and this broke the implied contract between loading N keys and being in a position to dispatch the batch loader and retrive N keys in batch.

This release fixes that - it moves the async caching get to the batch function itself, which is truly async.

This had a side benefit as well. The ValueCache now has a getValues(List<K> keys) method that allows a batch worth of keys to checked at once. External systems sucha s REDIS have multiple GET APIs and hence the caching can be even more efficient

graphql-java will now be able to update to this version in order to use the modern data loader with external value caching.

v3.0.1

2 years ago

Bug fix release for a synchronized multithreaded issue

https://github.com/graphql-java/java-dataloader/pull/89