JDG Remote Client-Server Mode Usage Example: Difference between revisions
Jump to navigation
Jump to search
(→Maven) |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=Overview= | =Overview= | ||
The example is deployed in a wrapper servlet, to facilitate interaction. | The example is deployed in a wrapper servlet, to facilitate interaction with the EAP JEE container. | ||
=GitHub= | |||
{{External|https://github.com/NovaOrdis/playground/tree/master/jboss/infinispan/remote-client-server-mode-access-from-eap}} | |||
=Maven= | =Maven= | ||
Line 14: | Line 18: | ||
<artifactId>infinispan-remote</artifactId> | <artifactId>infinispan-remote</artifactId> | ||
<version>8.3.0.Final-redhat-1</version> | <version>8.3.0.Final-redhat-1</version> | ||
<scope>provided</scope> | |||
</dependency> | </dependency> | ||
</pre> | </pre> | ||
If support for remote client-server JDG is deployed within the target EAP, declare the dependency <provided>. | If support for remote client-server JDG is [[Installation_of_JDG_in_Remote_Client-Server_Mode_within_EAP#Module_Installation|deployed within the target EAP]] (preferred), declare the dependency <scope>provided</scope> and configure the [[jboss-deployment-structure.xml]] as shown: | ||
<pre> | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<jboss-deployment-structure> | |||
<deployment> | |||
<dependencies> | |||
<module name="org.infinispan.client.hotrod" slot="jdg-7.0"/> | |||
</dependencies> | |||
</deployment> | |||
</jboss-deployment-structure> | |||
</pre> | |||
Otherwise, | Otherwise, all required dependencies it with your deployment, by '''not''' declaring them "provided". | ||
=HotRod Client Configuration= | =HotRod Client Configuration= | ||
<pre> | |||
import org.infinispan.client.hotrod.configuration.Configuration; | |||
import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; | |||
... | |||
= | ConfigurationBuilder cb = new ConfigurationBuilder(); | ||
cb.tcpNoDelay(true) | |||
.connectionPool() | |||
.numTestsPerEvictionRun(3) | |||
.testOnBorrow(false) | |||
.testOnReturn(false) | |||
.testWhileIdle(true) | |||
.addServer() | |||
.host(JDG_SERVER_IP_ADDRESS) | |||
.port(JDG_SERVER_IP_PORT); | |||
Configuration c = cb.build(); | |||
</pre> | |||
=Create a RemoteCacheManager and a Cache= | |||
<pre> | |||
import org.infinispan.client.hotrod.RemoteCacheManager; | |||
import org.infinispan.commons.api.BasicCache; | |||
... | |||
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(c); | |||
BasicCache cache = remoteCacheManager.getCache(); | |||
... | |||
</pre> | |||
=Features= | =Features= | ||
==Basic API== | |||
<pre> | |||
cache.put("some-key", "some value"); | |||
String s = cache.get("some-key"); | |||
</pre> | |||
==Transactions== | ==Transactions== | ||
Not available in remote client/server mode. |
Latest revision as of 17:19, 4 May 2017
Internal
Overview
The example is deployed in a wrapper servlet, to facilitate interaction with the EAP JEE container.
GitHub
Maven
<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-remote</artifactId> <version>8.3.0.Final-redhat-1</version> <scope>provided</scope> </dependency>
If support for remote client-server JDG is deployed within the target EAP (preferred), declare the dependency <scope>provided</scope> and configure the jboss-deployment-structure.xml as shown:
<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure> <deployment> <dependencies> <module name="org.infinispan.client.hotrod" slot="jdg-7.0"/> </dependencies> </deployment> </jboss-deployment-structure>
Otherwise, all required dependencies it with your deployment, by not declaring them "provided".
HotRod Client Configuration
import org.infinispan.client.hotrod.configuration.Configuration; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; ... ConfigurationBuilder cb = new ConfigurationBuilder(); cb.tcpNoDelay(true) .connectionPool() .numTestsPerEvictionRun(3) .testOnBorrow(false) .testOnReturn(false) .testWhileIdle(true) .addServer() .host(JDG_SERVER_IP_ADDRESS) .port(JDG_SERVER_IP_PORT); Configuration c = cb.build();
Create a RemoteCacheManager and a Cache
import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.commons.api.BasicCache; ... RemoteCacheManager remoteCacheManager = new RemoteCacheManager(c); BasicCache cache = remoteCacheManager.getCache(); ...
Features
Basic API
cache.put("some-key", "some value"); String s = cache.get("some-key");
Transactions
Not available in remote client/server mode.