Choose the cache location before writing configuration. An embedded cache runs inside your application JVM and is managed with EmbeddedCacheManager. A remote cache runs in an Infinispan Server process and is accessed over Hot Rod through RemoteCacheManager. That choice determines your dependencies, network and security setup, cache-creation authority, scaling boundary, and shutdown procedure.
This guide covers plain Java embedded caches, plain Java Hot Rod clients, and Spring Boot applications. Examples use current Infinispan API concepts; confirm the exact artifact and method signatures against the release you select. The current embedding documentation states that Infinispan Java distributions require at least JDK 17.
As an Amazon Associate I earn from qualifying purchases.
Start with the architecture decision
Embedded and remote Infinispan are different deployment models rather than two connection syntaxes for the same service. Use the model that matches your process boundaries, scaling plan, persistence requirements, and operational ownership.
Recommended Free Tools
| Decision point | Embedded Infinispan | Remote Infinispan |
|---|---|---|
| Where cache data and service run | Inside the application JVM | In an Infinispan Server process or cluster |
| Manager API | EmbeddedCacheManager |
RemoteCacheManager |
| Application dependency | Embedded core library, normally infinispan-core |
Hot Rod client library |
| Connection | No network hop to an Infinispan server | Hot Rod endpoint(s), optionally secured with TLS and authentication |
| Cache creation and configuration | Application defines configurations locally | Server definitions and permissions govern what the client can use; supported client-side create-on-first-access settings may also apply |
| Operational boundary | Cache lifecycle, memory and failure are tied to the application process | Cache service can be operated and scaled separately from application processes |
The Infinispan cache-configuration guide and embedding guide document the embedded manager model, while the Hot Rod Java-client guide documents the remote model. There is no universally superior choice: a small single-process application may prefer embedded simplicity, while independently scaled services or shared caches generally need a server boundary.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Prerequisites and version alignment
- Choose a specific Infinispan release and check its compatibility matrix before copying dependency versions. Version numbers in examples are release-specific, not permanent “latest” values.
- Use JDK 17 or newer for the Java distributions covered by the current embedding guide.
- For remote mode, have an Infinispan Server endpoint, a named cache definition (or an explicitly permitted create-on-first-access policy), and credentials if authentication is enabled.
- For Spring, identify both your Spring Framework generation (6 or 7) and Spring Boot generation (3.x or 4.x) before selecting an integration module.
- Decide how the manager will be started and stopped by your application lifecycle. A cache manager is heavyweight; the configuration guide recommends one manager per JVM.
Keep the official embedding documentation, configuration documentation, and release notes beside your build file. API overloads and integration artifact names can change between major releases.
Configure embedded caching with plain Java
1. Align Maven artifacts with the BOM
Import the Infinispan BOM so modules resolve to a consistent release, then add the embedded core artifact. The embedding guide uses 16.3.0 as an example BOM version; replace it with the release you have selected and verified.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-bom</artifactId>
<version>16.3.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
</dependency>
</dependencies>
The number is deliberately shown as a versioned example, not as a claim that it is the newest release. Keep all Infinispan modules on the BOM-managed version unless the release documentation says otherwise.
2. Build and start one cache manager
GlobalConfigurationBuilder configures manager-wide behavior; ConfigurationBuilder describes an individual cache. The manager must be started before caches are created when the constructor you use has not already started it. The official guide states: “You must always call the cacheManager.start() method to initialize a CacheManager before you can create caches.” Some default constructors start automatically, so check the constructor and status behavior for your selected release rather than adding an unexamined lifecycle call.
import org.infinispan.Cache;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
public final class EmbeddedExample {
public static void main(String[] args) {
EmbeddedCacheManager cacheManager = new DefaultCacheManager();
// Required for constructors that create a stopped manager.
cacheManager.start();
Configuration cacheConfiguration = new ConfigurationBuilder()
.memory()
.maxCount(10_000)
.build();
Cache<String, String> cache = cacheManager.getOrCreateCache(
"sessions", cacheConfiguration);
cache.put("user-42", "active");
String state = cache.get("user-42");
System.out.println(state);
// Call from your application's shutdown hook instead of exiting abruptly.
cacheManager.stop();
}
}
The maxCount value is only an example of a cache setting, not a recommended capacity. Select memory, expiration, eviction, persistence, and clustering settings from your workload and the target release’s configuration model.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
3. Choose the cache-access method deliberately
Embedded managers expose several documented access patterns:
getCache("name")obtains an existing cache, normally one whose configuration is already defined.createCache("name", configuration)creates a cache and fails if the requested name already exists.getOrCreateCache("name", configuration)creates the named cache when needed and reuses it when it already exists. The configuring guide recommends this form for create-or-reuse behavior.
A named cache is part of your application contract. Define names centrally, avoid accidental name changes between deployments, and make sure every node in a clustered embedded deployment uses compatible configuration.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
4. Make lifecycle ownership explicit
Construct the manager during application startup, obtain or create caches after startup, and stop the manager during orderly shutdown. Do not create one manager for every request or component. The manager owns thread pools, transport and cache lifecycle, so the documented one-manager-per-JVM guidance avoids needless resource duplication. In a dependency-injection application, expose the manager and named caches as singleton beans or equivalent application-scoped objects.
Before upgrading Infinispan, compile the lifecycle code against the target release. In particular, verify the constructor’s automatic-start behavior and the exact getOrCreateCache overload you use.
Configure a remote Hot Rod cache
1. Add the Hot Rod client
Remote applications do not embed the cache service. Add the Hot Rod client artifact through the same BOM alignment approach, using the client dependency published for your selected Infinispan release. The client communicates with an Infinispan Server endpoint; it does not turn an arbitrary local map into a server cache.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
2. Supply one or more server endpoints
The client API supports programmatic configuration, a URI, and client properties. A minimal programmatic setup looks like this:
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
public final class HotRodExample {
public static void main(String[] args) {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.addServer()
.host("127.0.0.1")
.port(11222);
RemoteCacheManager remoteManager =
new RemoteCacheManager(builder.build());
RemoteCache<String, String> cache =
remoteManager.getCache("sessions");
cache.put("user-42", "active");
String state = cache.get("user-42");
System.out.println(state);
remoteManager.stop();
}
}
For production, list the appropriate servers for your topology rather than relying on a single development address. The Hot Rod API reference documents the configuration package and its builder options at the official API reference.
The documented URI format distinguishes transport security: hotrod:// denotes plain transport and hotrods:// denotes TLS/SSL transport. Use the TLS form with the truststore, hostname verification, and authentication settings required by your server; do not treat a URI scheme change as a complete security configuration.
3. Ensure the named cache exists on the server
remoteManager.getCache("sessions") asks the server for a cache with that name. The cache must already be defined on the server, or your deployment must explicitly allow a supported create-on-first-access configuration and grant the client permission to use it. Client connection properties alone do not make every possible cache available.
Define cache modes, encoding, memory limits, expiration, persistence, and authorization on the server according to your deployment policy. If a name is misspelled or the client lacks permission, the failure is a server-side cache or authorization problem, not a Java generic-type problem.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
4. Configure authentication and TLS together with endpoints
Use credentials appropriate to the server’s identity provider and grant only the cache permissions the application needs. For TLS, install the server CA or trust chain in the client truststore, configure hostname verification as required by your certificate policy, and test certificate rotation before production. Keep credentials out of source control; inject them through your deployment secret mechanism or a protected configuration provider.
5. Close the remote manager
RemoteCacheManager maintains connection and client resources. Stop it when the application shuts down. In a framework-managed application, register the manager as a singleton with a destroy callback so redeployments do not leave connection threads behind.
Use Infinispan with Spring Boot
Spring integration adds another compatibility decision. Current integration documentation lists modules for Spring Framework 6 and 7 and starter variants for Spring Boot 3.x and 4.x. Select the embedded or remote module that matches both your Spring generation and Boot generation; do not mix a Boot 3 starter with a Boot 4 application merely because the Java package names look similar. Verify the exact artifact coordinates in the Infinispan Spring Boot Starter guide for your release.
Choose embedded or remote Spring integration
| Spring application need | Integration direction | What you still configure |
|---|---|---|
| Cache service in the application JVM | Matching embedded starter/module | Local manager and named cache configuration |
| Cache service in Infinispan Server | Matching remote starter/module | Hot Rod server list, credentials, TLS, and server-side cache definition |
Use the starter’s managed manager bean when possible. If you need programmatic settings, inject the matching embedded or remote manager type rather than constructing a second manager inside a service.
Configure remote properties in the correct file
The starter documentation shows different property names depending on where settings live:
Best Value
| File | Property example | Important behavior |
|---|---|---|
hotrod-client.properties |
infinispan.client.hotrod.server_list=127.0.0.1:11222 |
Takes priority when both this file and application.properties contain settings |
application.properties |
infinispan.remote.server-list=127.0.0.1:11222 |
Uses Spring Boot’s application configuration namespace |
Do not put the first key into the second file or assume that both namespaces merge identically. Add authentication, TLS, and any topology-specific options using the property names documented for the starter version you selected.
Enable Spring’s cache abstraction
In a Spring application, the Infinispan cache manager can back Spring Cache annotations. Enable the abstraction once in a configuration class and annotate methods whose results should be cached:
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableCaching
public class CachingConfiguration {
}
@Service
public class AccountService {
@Cacheable(cacheNames = "accounts", key = "#accountId")
public Account loadAccount(String accountId) {
return repository.find(accountId);
}
@CacheEvict(cacheNames = "accounts", key = "#accountId")
public void updateAccount(String accountId, Account account) {
repository.save(account);
}
}
@Cacheable stores a method result, while @CacheEvict removes an old entry after an update. When an annotation directly references an entry, provide a key expression or another key strategy that is unambiguous for your method arguments. The Spring-specific behavior and supported annotations are described in Infinispan’s Spring Cache and Spring Sessions guide.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsAccount for the Boot 4 configuration change
Current documentation states that the old embedded configuration customizer was removed for Spring Boot 4. If your application relied on that behavior, explicitly define a default cache with InfinispanCacheConfigurer instead. Treat this as a version-specific migration step: verify the exact Boot and Infinispan versions before changing configuration, because integration contracts are not timeless.
Expose statistics with Actuator
Spring Boot Actuator can expose cache statistics when cache statistics are enabled. Dynamically created caches also need registration with the metrics registry; otherwise a cache can function normally while remaining absent from the expected metrics view. Configure statistics intentionally because measurement has runtime overhead, and choose the Actuator exposure and endpoint security appropriate to your environment. The starter’s observability instructions are in the official Spring Boot guide.
Validate configuration before deployment
Check the manager and cache lifecycle
- Confirm the manager starts before the first cache is created.
- Confirm only one manager is created per JVM unless the release documentation explicitly requires a different arrangement.
- Confirm every cache name is intentional and that shutdown stops the manager cleanly.
- For Spring, confirm the manager bean and cache manager used by annotations are the same integration path.
Check server-side definitions for remote mode
- Resolve the hostname and port from the application environment, not from a developer-only address.
- Verify the named cache exists on every server or is allowed to be created by the documented mechanism.
- Verify the authenticated identity has the required cache permissions.
- Test a write, read, update, and removal against the actual cache name before releasing the application.
Check security
- Use TLS for traffic that crosses an untrusted or shared network.
- Validate the server certificate chain and hostname rather than disabling verification to make a test connection work.
- Use least-privilege credentials and rotate them through your secret-management process.
- Keep management and metrics endpoints protected; cache statistics can reveal operational information.
Check capacity and expiration empirically
Infinispan does not have a single eviction limit or expiration value that fits every workload. Measure object size, key cardinality, hit rate, write rate, entry lifetime, persistence needs, and failure behavior under a representative load. Then choose memory limits, expiration, eviction, passivation, persistence, and statistics settings for that workload. A value copied from a tutorial is not a capacity plan.
Troubleshoot the common failure branches
| Symptom | Likely cause | What to inspect |
|---|---|---|
| Cache creation fails immediately in embedded mode | Manager is stopped or configuration is invalid | Constructor start behavior, explicit start(), cache configuration schema, and the first exception in the log |
| Remote connection times out | Wrong endpoint, blocked port, TLS mismatch, or server unavailable | Resolved address, port 11222 or your configured endpoint, firewall rules, URI scheme, and server logs |
| Named remote cache is not found | Cache was not defined on the server or creation is not permitted | Exact cache name, server configuration, client permissions, and the server’s create-on-first-access policy |
| Authentication or authorization fails | Wrong credentials, realm, certificate, or cache permission | Identity-provider configuration, truststore, certificate hostname, and authorization roles |
| Spring methods never cache | @EnableCaching is missing, the wrong manager is wired, or proxy rules are bypassed |
Spring configuration, bean type, annotation placement, and whether calls pass through the Spring proxy |
| Actuator shows no cache metrics | Statistics are disabled or a dynamic cache was not registered | Cache statistics setting, metrics-registry registration, and Actuator exposure/security settings |
| Two application nodes behave differently | Embedded nodes use incompatible local definitions or remote nodes point at different servers | Resolved configuration per node, cache mode, server list, and release versions |
A practical release checklist
- Record the exact Infinispan, JDK, Spring Framework, and Spring Boot versions.
- Choose embedded or remote mode based on process ownership and scaling requirements.
- Import the matching BOM and add only the embedded or Hot Rod artifacts required by that mode.
- Define the manager once, start it at application startup, and stop it during shutdown.
- Create or select a named cache with an explicit configuration; do not rely on an accidental default.
- For Hot Rod, configure endpoints, TLS, authentication, authorization, and server-side cache definitions.
- For Spring, select the generation-specific starter, set the correct property namespace, and enable
@EnableCaching. - Enable statistics only when needed, register dynamic caches with the metrics registry, and protect Actuator endpoints.
- Exercise cache reads, writes, updates, expiry and failure recovery in an environment that matches production topology.
- Document who owns cache definitions and what happens to cached data during application restart, server restart, upgrade, or credential rotation.
The core pattern is consistent across all three routes: configure a cache manager, define or select a named cache, and use that cache through the API appropriate to its location. The operational details—startup, server authority, security, framework compatibility and measurement—are what make the configuration reliable.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

