[id='creating-caches-hotrod_{context}']
= Creating remote caches from Hot Rod clients
Use the {brandname} Hot Rod API to create remote caches on {brandname} Server from Java, C{plusplus}, .NET/C{hash}, JS clients and more.

This procedure shows you how to use Hot Rod Java clients that create remote caches on first access.
You can find code examples for other Hot Rod clients in the link:{code_tutorials}[{brandname} Tutorials].

.Prerequisites

* Create a {brandname} user with `admin` permissions.
* Start at least one {brandname} Server instance.
* Have a {brandname} cache configuration.

.Procedure

* Invoke the `remoteCache()` method as part of your the `ConfigurationBuilder`.
* Set the `configuration` or `configuration_uri` properties in the `hotrod-client.properties` file on your classpath.

.ConfigurationBuilder
[source,java,options="nowrap",subs=attributes+,role="primary"]
----
include::code_examples/HotRodCreatePerCache.java[]
----

.hotrod-client.properties
[source,options="nowrap",subs=attributes+,role="secondary"]
----
include::properties/hotrod-client-cache-configuration.properties[]
----

[IMPORTANT]
====
If the name of your remote cache contains the `.` character, you must enclose it in square brackets when using `hotrod-client.properties` files.
====

[role="_additional-resources"]
.Additional resources
* link:{javadocroot}/org/infinispan/client/hotrod/configuration/package-summary.html[Hot Rod Client Configuration]
* link:{javadocroot}/org/infinispan/client/hotrod/configuration/RemoteCacheConfigurationBuilder.html[org.infinispan.client.hotrod.configuration.RemoteCacheConfigurationBuilder]
