Comments (8)
The team is not planning to do this at this time.
from jobrunr.
Hey @snicoll ,
thanks for your valuable input. I'm a bit lost of what to do with the Lettuce and Redis related autoconfiguration.
I see the LettuceConnectionConfiguration
but it does not export a RedisClient
bean. Same goes for the JedisConnectionConfiguration
which does not export a JedisPool
bean. Do you know in which configuration I can find them or am I missing something?
from jobrunr.
As you've noticed yourself, we don't export those. If your code is relying on that, users will have to create the bean.
from jobrunr.
Jedis and Lettuce drivers use different client implementations (RedisClient
/Jedis
/JedisPool
/JedisSentinelPool
vs. RedisClusterClient
/JedisCluster
) depending on the mode of operation (standalone, Sentinel, Cluster). That makes the actual client object an implementation detail of Spring Data Redis' RedisConnectionFactory
. Exposing these details makes probably sense to some extent (e.g. via JedisConnectionFactory/LettuceConnectionFactory.getNativeClient
) but it doesn't make sense to expose these objects as beans since their lifecycle is tied to RedisConnectionFactory
.
If we consider an arrangement without Spring Data Redis, then client object beans such as RedisClient
would make sense on their own as that would be the primary interaction API.
from jobrunr.
If we consider an arrangement without Spring Data Redis, then client object beans such as RedisClient would make sense on their own as that would be the primary interaction API.
This is indeed how it is done for others like the MongoDB driver.
Are you guys planning to do it also for the Lettuce/Jedis?
from jobrunr.
Part of the rationale is that configuring the right client correctly is tied to a lot of complexity (Pooling vs. non pooling, Standalone, Sentinel, Cluster, Master/Replica operation modes) and that complexity is already encapsulated in Spring Data Redis.
from jobrunr.
Part of the rationale is that configuring the right client correctly is tied to a lot of complexity (Pooling vs. non pooling, Standalone, Sentinel, Cluster, Master/Replica operation modes) and that complexity is already encapsulated in Spring Data Redis.
I completely understand - supporting all the different data stores in JobRunr, also took me quite some time to understand how each client library uses pooling/ non-pooling/ ... .
from jobrunr.
I'll then close this issue as the requested change is done for the other providers (ElasticSearch, MongoDB and Sql DataSource)
from jobrunr.
Related Issues (20)
- [BUG] HikariDataSource HikariDataSource (HikariPool-1) has been closed HOT 19
- [Improvement] Better BackgroundJobServer initialization in Spring HOT 1
- Severe JobRunr Exception HOT 1
- [BUG] Migration applies multiple times when containers start concurrently HOT 1
- Severe JobRunr Exception HOT 1
- An unrecoverable error occurred. Shutting server down... java.lang.NullPointerException: Cannot invoke "java.util.UUID.equals(Object)" because "this.masterId" is null[BUG] HOT 1
- [Feature] JobRunr v7: allow to define custom BackgroundJobServerWorkerPolicy bean HOT 1
- [BUG] Kotlin default parameters HOT 1
- [BUG] java.util.ConcurrentModificationException HOT 19
- [BUG] Unexpected behaviour with the stream enqueue HOT 3
- [Feature] add support for kotlinx.serialization as JsonMapper HOT 6
- [BUG] Spring Boot GraalVM native mode build fails if Bean is defined via `JavaConfig` HOT 1
- 7.0.0: Document breaking change in JobDashboardProgressBar HOT 1
- Severe JobRunr Exception HOT 1
- [Feature] Automatically create jobs if Spring Bean is annotated with @Job annotation
- missing info on upgrade to 7.0 from upgrade page HOT 2
- [Improvement] Add maven central artifact relocation info
- [BUG] RecurringJobNotFoundException when migrating to v7.0.0 - when recurring job cron is disabled and entity never existed in recurring_jobs table. HOT 1
- Question: ordering of fire-and-forget job processing
- [BUG] Instruction 191 not found when throwing exception in lambda HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jobrunr.