Skip to content

Instantly share code, notes, and snippets.

View tristantarrant's full-sized avatar
🏠
Working from home

Tristan Tarrant tristantarrant

🏠
Working from home
  • IBM
  • Italy
View GitHub Profile
ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence().addStore(CloudStoreConfigurationBuilder.class)
.provider("transient")
.location("test-location")
.identity("me")
.credential("s3cr3t")
.endpoint("http://test.endpoint")
.compress(true);
@tristantarrant
tristantarrant / host-xsite.xml
Created March 15, 2016 09:40
Infinispan 8.2 Host configuration for multiple sites
<?xml version="1.0" ?>
<host xmlns="urn:jboss:domain:4.0" name="master">
<extensions>
<extension module="org.jboss.as.jmx"/>
</extensions>
<management>
<security-realms>
<security-realm name="ManagementRealm">
<authentication>
@tristantarrant
tristantarrant / domain-xsite.xml
Last active March 15, 2016 10:17
Infinispan 8.2 Domain configuration for multiple sites
<?xml version="1.0" ?>
<domain xmlns="urn:jboss:domain:4.0">
<extensions>
<extension module="org.infinispan.extension"/>
<extension module="org.infinispan.server.endpoint"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.logging"/>

Securing the management interface

Standalone mode

Create the keystore and put it in the standalone configuration directory:

$ keytool -genkeypair -alias InfinispanServer -storetype jks -keyalg RSA -keysize 2048 -keypass mysecurepassword -keystore standalone/configuration/infinispan.jks -storepass mysecurepassword -dname "CN=InfinispanServer,OU=JBoss,DC=RedHat,DC=COM" -validity 3650 -v
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 3,650 days
	for: CN=InfinispanServer, OU=JBoss, DC=RedHat, DC=COM
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-cachestore-cassandra</artifactId>
<version>8.2.0.Beta1</version>
</dependency>
<cache-container default-cache="cassandracache">
<local-cache name="cassandracache">
<persistence passivation="false">
<cassandra-store xmlns="urn:infinispan:config:store:cassandra:8.2" auto-create-keyspace="true" keyspace="Infinispan" entry-table="InfinispanEntries" shared="true">
<cassandra-server host="127.0.0.1" port="9042" />
<connection-pool heartbeat-interval-seconds="30" idle-timeout-seconds="120" pool-timeout-millis="5" />
</cassandra-store>
</persistence>
</local-cache>
</cache-container>
@tristantarrant
tristantarrant / cassandra_cachestore.cql
Created February 3, 2016 10:02
Cassandra CacheStore keyspace creation
CREATE KEYSPACE IF NOT EXISTS Infinispan WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};
CREATE TABLE Infinispan.InfinispanEntries (key blob PRIMARY KEY, value blob, metadata blob);
@tristantarrant
tristantarrant / HotRodMultiplication.java
Created October 16, 2015 09:18
Infinispan Server HotRod Multiplication invocation example
RemoteCache<String, Integer> cache = cacheManager.getCache();
// Create the parameters for script execution
Map<String, Object> params = new HashMap<>();
params.put("multiplicand", 10);
params.put("multiplier", 20);
// Run the script on the server, passing in the parameters
Object result = cache.execute("multiplication.js", params);
@tristantarrant
tristantarrant / multiplication.js
Created October 16, 2015 09:16
Infinispan Server multiplication script
// mode=local,language=javascript
multiplicand * multiplier
package mypackage;
import java.util.Map;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.factories.ComponentRegistry;
import org.infinispan.lifecycle.AbstractModuleLifecycle;
import org.infinispan.lifecycle.ModuleLifecycle;
import org.kohsuke.MetaInfServices;
@MetaInfServices(ModuleLifecycle.class)