Jump To Close Expand all Collapse all Table of contents Developer Guide I. Programmable APIs Expand section "I. Programmable APIs" Collapse section "I. Programmable APIs" 1. Programmable APIs 2. The Cache API Expand section "2. The Cache API" Collapse section "2. The Cache API" 2.1. The Cache API 2.2. Using the ConfigurationBuilder API to Configure the Cache API 2.3. Per-Invocation Flags Expand section "2.3. Per-Invocation Flags" Collapse section "2.3. Per-Invocation Flags" 2.3.1. Per-Invocation Flags 2.3.2. Per-Invocation Flag Functions 2.3.3. Configure Per-Invocation Flags 2.3.4. Per-Invocation Flags Example 2.4. The AdvancedCache Interface Expand section "2.4. The AdvancedCache Interface" Collapse section "2.4. The AdvancedCache Interface" 2.4.1. The AdvancedCache Interface 2.4.2. Flag Usage with the AdvancedCache Interface 2.4.3. GET and PUT Usage in Distribution Mode Expand section "2.4.3. GET and PUT Usage in Distribution Mode" Collapse section "2.4.3. GET and PUT Usage in Distribution Mode" 2.4.3.1. GET and PUT Usage in Distribution Mode 2.4.3.2. Distributed GET and PUT Operation Resource Usage 2.4.4. Limitations of Map Methods 3. The Asynchronous API Expand section "3. The Asynchronous API" Collapse section "3. The Asynchronous API" 3.1. The Asynchronous API 3.2. Asynchronous API Benefits 3.3. About Asynchronous Processes 3.4. Return Values and the Asynchronous API 4. The Batching API Expand section "4. The Batching API" Collapse section "4. The Batching API" 4.1. The Batching API 4.2. About Java Transaction API 4.3. Batching and the Java Transaction API (JTA) 4.4. Using the Batching API Expand section "4.4. Using the Batching API" Collapse section "4.4. Using the Batching API" 4.4.1. Configure the Batching API 4.4.2. Use the Batching API 5. The Grouping API Expand section "5. The Grouping API" Collapse section "5. The Grouping API" 5.1. The Grouping API 5.2. Grouping API Operations 5.3. Grouping API Use Case 5.4. Configure the Grouping API Expand section "5.4. Configure the Grouping API" Collapse section "5.4. Configure the Grouping API" 5.4.1. Configure the Grouping API 5.4.2. Enable Groups 5.4.3. Specify an Intrinsic Group 5.4.4. Specify an Extrinsic Group 5.4.5. Register Groupers 6. The Persistence SPI Expand section "6. The Persistence SPI" Collapse section "6. The Persistence SPI" 6.1. The Persistence SPI 6.2. Persistence SPI Benefits 6.3. Programmatically Configure the Persistence SPI 6.4. Persistence Examples Expand section "6.4. Persistence Examples" Collapse section "6.4. Persistence Examples" 6.4.1. Persistence Examples 6.4.2. Configure the Cache Store Programmatically 6.4.3. LevelDB Cache Store Programmatic Configuration 6.4.4. JdbcBinaryStore Programmatic Configuration 6.4.5. JdbcStringBasedStore Programmatic Configuration 6.4.6. JdbcMixedStore Programmatic Configuration 6.4.7. JPA Cache Store Sample Programmatic Configuration 6.4.8. Cassandra Cache Store Sample Programmatic Configuration 7. The ConfigurationBuilder API Expand section "7. The ConfigurationBuilder API" Collapse section "7. The ConfigurationBuilder API" 7.1. The ConfigurationBuilder API 7.2. Using the ConfigurationBuilder API Expand section "7.2. Using the ConfigurationBuilder API" Collapse section "7.2. Using the ConfigurationBuilder API" 7.2.1. Programmatically Create a CacheManager and Replicated Cache 7.2.2. Create a Customized Cache Using the Default Named Cache 7.2.3. Create a Customized Cache Using a Non-Default Named Cache 7.2.4. Using the Configuration Builder to Create Caches Programmatically 7.2.5. Global Configuration Examples Expand section "7.2.5. Global Configuration Examples" Collapse section "7.2.5. Global Configuration Examples" 7.2.5.1. Globally Configure the Transport Layer 7.2.5.2. Globally Configure the Cache Manager Name 7.2.5.3. Globally Configure JGroups 7.2.6. Cache Level Configuration Examples Expand section "7.2.6. Cache Level Configuration Examples" Collapse section "7.2.6. Cache Level Configuration Examples" 7.2.6.1. Cache Level Configuration for the Cluster Mode 7.2.6.2. Cache Level Eviction and Expiration Configuration 7.2.6.3. Cache Level Configuration for JTA Transactions 7.2.6.4. Cache Level Configuration Using Chained Persistent Stores 7.2.6.5. Cache Level Configuration for Advanced Externalizers 7.2.6.6. Cache Level Configuration for Partition Handling (Library Mode) 8. The Externalizable API Expand section "8. The Externalizable API" Collapse section "8. The Externalizable API" 8.1. The Externalizable API 8.2. Customize Externalizers 8.3. Annotating Objects for Marshalling Using @SerializeWith 8.4. Using an Advanced Externalizer Expand section "8.4. Using an Advanced Externalizer" Collapse section "8.4. Using an Advanced Externalizer" 8.4.1. Using an Advanced Externalizer 8.4.2. Implement the Methods 8.4.3. Link Externalizers with Marshaller Classes 8.4.4. Register the Advanced Externalizer (Programmatically) 8.4.5. Register Multiple Externalizers 8.5. Custom Externalizer ID Values Expand section "8.5. Custom Externalizer ID Values" Collapse section "8.5. Custom Externalizer ID Values" 8.5.1. Custom Externalizer ID Values 8.5.2. Customize the Externalizer ID (Programmatically) 9. The Notification/Listener API Expand section "9. The Notification/Listener API" Collapse section "9. The Notification/Listener API" 9.1. The Notification/Listener API 9.2. Listener Example 9.3. Listener Notifications Expand section "9.3. Listener Notifications" Collapse section "9.3. Listener Notifications" 9.3.1. Listener Notifications 9.3.2. About Cache-level Notifications 9.3.3. Cache Manager-level Notifications 9.3.4. About Synchronous and Asynchronous Notifications 9.4. Modifying Cache Entries Expand section "9.4. Modifying Cache Entries" Collapse section "9.4. Modifying Cache Entries" 9.4.1. Modifying Cache Entries 9.4.2. Cache Entry Modified Listener Configuration 9.4.3. Cache Entry Modified Listener Example 9.5. Clustered Listeners Expand section "9.5. Clustered Listeners" Collapse section "9.5. Clustered Listeners" 9.5.1. Clustered Listeners 9.5.2. Configuring Clustered Listeners 9.5.3. The Cache Listener API 9.5.4. Clustered Listener Example 9.5.5. Optimized Cache Filter Converter 9.6. Remote Event Listeners (Hot Rod) Expand section "9.6. Remote Event Listeners (Hot Rod)" Collapse section "9.6. Remote Event Listeners (Hot Rod)" 9.6.1. Remote Event Listeners (Hot Rod) 9.6.2. Adding and Removing Event Listeners 9.6.3. Remote Event Client Listener Example 9.6.4. Filtering Remote Events Expand section "9.6.4. Filtering Remote Events" Collapse section "9.6.4. Filtering Remote Events" 9.6.4.1. Filtering Remote Events 9.6.4.2. Custom Filters for Remote Events 9.6.4.3. Enhanced Filter Factories 9.6.5. Customizing Remote Events Expand section "9.6.5. Customizing Remote Events" Collapse section "9.6.5. Customizing Remote Events" 9.6.5.1. Customizing Remote Events 9.6.5.2. Adding a Converter 9.6.5.3. Lightweight Events 9.6.5.4. Dynamic Converter Instances 9.6.5.5. Adding a Remote Client Listener for Custom Events 9.6.6. Event Marshalling 9.6.7. Remote Event Clustering and Failover 10. JSR-107 (JCache) API Expand section "10. JSR-107 (JCache) API" Collapse section "10. JSR-107 (JCache) API" 10.1. JSR-107 (JCache) API 10.2. Dependencies Expand section "10.2. Dependencies" Collapse section "10.2. Dependencies" 10.2.1. Option 1: Maven 10.2.2. Option 2: Adding the necessary files to the classpath 10.3. Create a local cache Expand section "10.3. Create a local cache" Collapse section "10.3. Create a local cache" 10.3.1. Library Mode 10.3.2. Client-Server Mode 10.4. Store and retrieve data 10.5. Comparing java.util.concurrent.ConcurrentMap and javax.cache.Cache APIs 10.6. Clustering JCache instances 10.7. Multiple Caching Providers 11. The Health Check API Expand section "11. The Health Check API" Collapse section "11. The Health Check API" 11.1. The Health Check API 11.2. Accessing the Health Check API Programmatically 12. The REST API Expand section "12. The REST API" Collapse section "12. The REST API" 12.1. The REST Interface 12.2. Ruby Client Code 12.3. Using JSON with Ruby Example 12.4. Python Client Code 12.5. Java Client Code 12.6. Using the REST Interface Expand section "12.6. Using the REST Interface" Collapse section "12.6. Using the REST Interface" 12.6.1. Using the REST Interface 12.6.2. Adding Data Using REST Expand section "12.6.2. Adding Data Using REST" Collapse section "12.6.2. Adding Data Using REST" 12.6.2.1. Adding Data Using REST 12.6.2.2. About PUT /{cacheName}/{cacheKey} 12.6.2.3. About POST /{cacheName}/{cacheKey} 12.6.3. Retrieving Data Using REST Expand section "12.6.3. Retrieving Data Using REST" Collapse section "12.6.3. Retrieving Data Using REST" 12.6.3.1. Retrieving Data Using REST 12.6.3.2. About GET /{cacheName}/{cacheKey} 12.6.3.3. About HEAD /{cacheName}/{cacheKey} 12.6.4. Removing Data Using REST Expand section "12.6.4. Removing Data Using REST" Collapse section "12.6.4. Removing Data Using REST" 12.6.4.1. Removing Data Using REST 12.6.4.2. About DELETE /{cacheName}/{cacheKey} 12.6.4.3. About DELETE /{cacheName} 12.6.4.4. Background Delete Operations 12.6.5. REST Interface Operation Headers 13. The Hot Rod Interface Expand section "13. The Hot Rod Interface" Collapse section "13. The Hot Rod Interface" 13.1. About Hot Rod 13.2. Hot Rod Headers Expand section "13.2. Hot Rod Headers" Collapse section "13.2. Hot Rod Headers" 13.2.1. Hot Rod Header Data Types 13.2.2. Request Header 13.2.3. Response Header 13.2.4. Topology Change Headers Expand section "13.2.4. Topology Change Headers" Collapse section "13.2.4. Topology Change Headers" 13.2.4.1. Topology Change Headers 13.2.4.2. Topology Change Marker Values 13.2.4.3. Topology Change Headers for Topology-Aware Clients 13.2.4.4. Topology Change Headers for Hash Distribution-Aware Clients 13.3. Hot Rod Operations Expand section "13.3. Hot Rod Operations" Collapse section "13.3. Hot Rod Operations" 13.3.1. Hot Rod Operations 13.3.2. Hot Rod Authenticate Operation 13.3.3. Hot Rod AuthMechList Operation 13.3.4. Hot Rod BulkGet Operation 13.3.5. Hot Rod BulkKeysGet Operation 13.3.6. Hot Rod Clear Operation 13.3.7. Hot Rod ContainsKey Operation 13.3.8. Hot Rod Exec Operation 13.3.9. Hot Rod Get Operation 13.3.10. Hot Rod GetAll Operation 13.3.11. Hot Rod GetWithMetadata Operation 13.3.12. Hot Rod GetWithVersion Operation 13.3.13. Hot Rod IterationEnd Operation 13.3.14. Hot Rod IterationNext Operation 13.3.15. Hot Rod IterationStart Operation 13.3.16. Hot Rod Ping Operation 13.3.17. Hot Rod Put Operation 13.3.18. Hot Rod PutAll Operation 13.3.19. Hot Rod PutIfAbsent Operation 13.3.20. Hot Rod Query Operation 13.3.21. Hot Rod Remove Operation 13.3.22. Hot Rod RemoveIfUnmodified Operation 13.3.23. Hot Rod Replace Operation 13.3.24. Hot Rod ReplaceIfUnmodified Operation 13.3.25. Hot Rod ReplaceWithVersion Operation 13.3.26. Hot Rod Stats Operation 13.3.27. Hot Rod Size Operation 13.4. Hot Rod Operation Values Expand section "13.4. Hot Rod Operation Values" Collapse section "13.4. Hot Rod Operation Values" 13.4.1. Hot Rod Operation Values 13.4.2. Magic Values 13.4.3. Status Values 13.4.4. Client Intelligence Values 13.4.5. Flag Values 13.4.6. Hot Rod Error Handling 13.5. Hot Rod Remote Events Expand section "13.5. Hot Rod Remote Events" Collapse section "13.5. Hot Rod Remote Events" 13.5.1. Hot Rod Remote Events 13.5.2. Hot Rod Add Client Listener for Remote Events 13.5.3. Hot Rod Remote Client Listener for Remote Events 13.5.4. Hot Rod Event Header 13.5.5. Hot Rod Cache Entry Created Event 13.5.6. Hot Rod Cache Entry Modified Event 13.5.7. Hot Rod Cache Entry Removed Event 13.5.8. Hot Rod Custom Event 13.6. Put Request Example 13.7. Hot Rod Java Client Expand section "13.7. Hot Rod Java Client" Collapse section "13.7. Hot Rod Java Client" 13.7.1. Hot Rod Java Client 13.7.2. Hot Rod Java Client Download 13.7.3. Hot Rod Java Client Configuration 13.7.4. Hot Rod Java Client Basic API 13.7.5. Hot Rod Java Client Versioned API 13.8. Hot Rod C++ Client Expand section "13.8. Hot Rod C++ Client" Collapse section "13.8. Hot Rod C++ Client" 13.8.1. Hot Rod C++ Client 13.8.2. Hot Rod C++ Client Formats 13.8.3. Hot Rod C++ Client Prerequisites 13.8.4. Installing the Hot Rod C++ Client Expand section "13.8.4. Installing the Hot Rod C++ Client" Collapse section "13.8.4. Installing the Hot Rod C++ Client" 13.8.4.1. Hot Rod C++ Client Download and Installation 13.8.4.2. Hot Rod C++ Client RHEL Download and Installation 13.8.4.3. Hot Rod C++ Client Windows Download and Installation 13.8.5. Utilizing the Protobuf Compiler with the Hot Rod C++ Client Expand section "13.8.5. Utilizing the Protobuf Compiler with the Hot Rod C++ Client" Collapse section "13.8.5. Utilizing the Protobuf Compiler with the Hot Rod C++ Client" 13.8.5.1. Using the Protobuf Compiler in RHEL 7 13.8.5.2. Using the Protobuf Compiler in Windows 13.8.6. Hot Rod C++ Client Configuration 13.8.7. Hot Rod C++ Client API 13.8.8. Hot Rod C++ Client Asynchronous API 13.8.9. Hot Rod C++ Client Remote Event Listeners 13.8.10. Hot Rod C++ Client Working with Sites Expand section "13.8.10. Hot Rod C++ Client Working with Sites" Collapse section "13.8.10. Hot Rod C++ Client Working with Sites" 13.8.10.1. Manual Cluster Switch 13.8.11. Performing Remote Queries via the Hot Rod C++ Client 13.8.12. Using the Near Cache with the Hot Rod C++ Client 13.8.13. Script Execution Using the Hot Rod C++ Client 13.9. Hot Rod C# Client Expand section "13.9. Hot Rod C# Client" Collapse section "13.9. Hot Rod C# Client" 13.9.1. Hot Rod C# Client 13.9.2. Hot Rod C# Client Download and Installation 13.9.3. Creating a Hot Rod C# .NET Project 13.9.4. Hot Rod C# Client Configuration 13.9.5. Hot Rod C# Client API 13.9.6. Hot Rod C# Client Asynchronous API 13.9.7. Hot Rod C# Client Remote Event Listeners 13.9.8. Hot Rod C# Client Working with Sites Expand section "13.9.8. Hot Rod C# Client Working with Sites" Collapse section "13.9.8. Hot Rod C# Client Working with Sites" 13.9.8.1. Manual Cluster Switch 13.9.9. Performing Remote Queries via the Hot Rod C# Client 13.9.10. Using the Near Cache with the Hot Rod C# Client 13.9.11. Script Execution Using the Hot Rod C# Client 13.9.12. String Marshaller for Interoperability 13.10. Hot Rod Node.js Client Expand section "13.10. Hot Rod Node.js Client" Collapse section "13.10. Hot Rod Node.js Client" 13.10.1. Hot Rod Node.js Client 13.10.2. Installing the Hot Rod Node.js Client 13.10.3. Hot Rod Node.js Requirements 13.10.4. Hot Rod Node.js Basic Functionality 13.10.5. Hot Rod Node.js Conditional Operations 13.10.6. Hot Rod Node.js Data Sets 13.10.7. Hot Rod Node.js Remote Events 13.10.8. Hot Rod Node.js Working with Clusters 13.10.9. Hot Rod Node.js Working with Sites Expand section "13.10.9. Hot Rod Node.js Working with Sites" Collapse section "13.10.9. Hot Rod Node.js Working with Sites" 13.10.9.1. Manual Cluster Switch 13.11. Interoperability Between Hot Rod C++ and Hot Rod Java Client 13.12. Compatibility Between Server and Hot Rod Client Versions II. Creating and Using Infinispan Queries in Red Hat JBoss Data Grid Expand section "II. Creating and Using Infinispan Queries in Red Hat JBoss Data Grid" Collapse section "II. Creating and Using Infinispan Queries in Red Hat JBoss Data Grid" 14. Getting Started with Infinispan Query Expand section "14. Getting Started with Infinispan Query" Collapse section "14. Getting Started with Infinispan Query" 14.1. Introduction 14.2. Installing Querying for Red Hat JBoss Data Grid 14.3. About Querying in Red Hat JBoss Data Grid Expand section "14.3. About Querying in Red Hat JBoss Data Grid" Collapse section "14.3. About Querying in Red Hat JBoss Data Grid" 14.3.1. Hibernate Search and the Query Module 14.3.2. Apache Lucene and the Query Module 14.4. Indexing Expand section "14.4. Indexing" Collapse section "14.4. Indexing" 14.4.1. Indexing 14.4.2. Indexing with Transactional and Non-transactional Caches 14.4.3. Configure Indexing Programmatically 14.4.4. Rebuilding the Index 14.5. Searching 15. Annotating Objects and Querying Expand section "15. Annotating Objects and Querying" Collapse section "15. Annotating Objects and Querying" 15.1. Annotating Objects and Querying 15.2. Registering a Transformer via Annotations 15.3. Querying Example 16. Mapping Domain Objects to the Index Structure Expand section "16. Mapping Domain Objects to the Index Structure" Collapse section "16. Mapping Domain Objects to the Index Structure" 16.1. Basic Mapping Expand section "16.1. Basic Mapping" Collapse section "16.1. Basic Mapping" 16.1.1. Basic Mapping 16.1.2. @Indexed 16.1.3. @Field 16.1.4. @NumericField 16.2. Mapping Properties Multiple Times 16.3. Embedded and Associated Objects Expand section "16.3. Embedded and Associated Objects" Collapse section "16.3. Embedded and Associated Objects" 16.3.1. Embedded and Associated Objects 16.3.2. Indexing Associated Objects 16.3.3. @IndexedEmbedded 16.3.4. The targetElement Property 16.4. Boosting Expand section "16.4. Boosting" Collapse section "16.4. Boosting" 16.4.1. Boosting 16.4.2. Static Index Time Boosting 16.4.3. Dynamic Index Time Boosting 16.5. Analysis Expand section "16.5. Analysis" Collapse section "16.5. Analysis" 16.5.1. Analysis 16.5.2. Default Analyzer and Analyzer by Class 16.5.3. Named Analyzers 16.5.4. Analyzer Definitions 16.5.5. @AnalyzerDef for Solr 16.5.6. Loading Analyzer Resources 16.5.7. Dynamic Analyzer Selection 16.5.8. Retrieving an Analyzer 16.5.9. Available Analyzers 16.6. Bridge Expand section "16.6. Bridge" Collapse section "16.6. Bridge" 16.6.1. Bridges 16.6.2. Built-in Bridges 16.6.3. Custom Bridges Expand section "16.6.3. Custom Bridges" Collapse section "16.6.3. Custom Bridges" 16.6.3.1. Custom Bridges 16.6.3.2. FieldBridge 16.6.3.3. StringBridge 16.6.3.4. Two-Way Bridge 16.6.3.5. Parameterized Bridge 16.6.3.6. Type Aware Bridge 16.6.3.7. ClassBridge 17. Querying Expand section "17. Querying" Collapse section "17. Querying" 17.1. Querying 17.2. Building Queries Expand section "17.2. Building Queries" Collapse section "17.2. Building Queries" 17.2.1. Building Queries 17.2.2. Building a Lucene Query Using the Lucene-based Query API 17.2.3. Building a Lucene Query Expand section "17.2.3. Building a Lucene Query" Collapse section "17.2.3. Building a Lucene Query" 17.2.3.1. Building a Lucene Query 17.2.3.2. Keyword Queries 17.2.3.3. Fuzzy Queries 17.2.3.4. Wildcard Queries 17.2.3.5. Phrase Queries 17.2.3.6. Range Queries 17.2.3.7. Combining Queries 17.2.3.8. Query Options 17.2.4. Build a Query with Infinispan Query Expand section "17.2.4. Build a Query with Infinispan Query" Collapse section "17.2.4. Build a Query with Infinispan Query" 17.2.4.1. Generality 17.2.4.2. Pagination 17.2.4.3. Sorting 17.2.4.4. Projection 17.2.4.5. Limiting the Time of a Query 17.2.4.6. Raise an Exception on Time Limit 17.3. Retrieving the Results Expand section "17.3. Retrieving the Results" Collapse section "17.3. Retrieving the Results" 17.3.1. Retrieving the Results 17.3.2. Performance Considerations 17.3.3. Result Size 17.3.4. Understanding Results 17.4. Filters Expand section "17.4. Filters" Collapse section "17.4. Filters" 17.4.1. Filters 17.4.2. Defining and Implementing a Filter 17.4.3. The @Factory Filter 17.4.4. Key Objects 17.4.5. Full Text Filter 17.4.6. Using Filters in a Sharded Environment 17.5. Continuous Queries Expand section "17.5. Continuous Queries" Collapse section "17.5. Continuous Queries" 17.5.1. Continuous Query 17.5.2. Continuous Query Evaluation 17.5.3. Using Continuous Queries 17.5.4. Performance Considerations with Continuous Queries 18. The Infinispan Query DSL Expand section "18. The Infinispan Query DSL" Collapse section "18. The Infinispan Query DSL" 18.1. The Infinispan Query DSL 18.2. Creating Queries with Infinispan Query DSL 18.3. Enabling Infinispan Query DSL-based Queries 18.4. Running Infinispan Query DSL-based Queries 18.5. Projection Queries 18.6. Grouping and Aggregation Operations 18.7. Using Named Parameters 19. Building a Query using the Ickle Query Language Expand section "19. Building a Query using the Ickle Query Language" Collapse section "19. Building a Query using the Ickle Query Language" 19.1. Building a Query using the Ickle Query Language 19.2. Deviations from the Lucene Query Parser Syntax 19.3. Fuzzy Queries 19.4. Range Queries 19.5. Phrase Queries 19.6. Proximity Queries 19.7. Wildcard Queries 19.8. Regular Expression Queries 19.9. Boosting Queries 20. Remote Querying Expand section "20. Remote Querying" Collapse section "20. Remote Querying" 20.1. Remote Querying 20.2. Querying Comparison 20.3. Performing Remote Queries via the Hot Rod Java Client 20.4. Remote Querying in the Hot Rod C++ Client 20.5. Remote Querying in the Hot Rod C# Client 20.6. Protobuf Encoding Expand section "20.6. Protobuf Encoding" Collapse section "20.6. Protobuf Encoding" 20.6.1. Protobuf Encoding 20.6.2. Storing Protobuf Encoded Entities 20.6.3. About Protobuf Messages 20.6.4. Using Protobuf with Hot Rod 20.6.5. Registering Per Entity Marshallers 20.6.6. Indexing Protobuf Encoded Entities 20.6.7. Controlling Field Indexing Expand section "20.6.7. Controlling Field Indexing" Collapse section "20.6.7. Controlling Field Indexing" 20.6.7.1. Example of an Annotated Message Type 20.6.8. Defining Protocol Buffers Schemas With Java Annotations III. Securing Data in Red Hat JBoss Data Grid Expand section "III. Securing Data in Red Hat JBoss Data Grid" Collapse section "III. Securing Data in Red Hat JBoss Data Grid" 21. Securing Data in Red Hat JBoss Data Grid 22. Red Hat JBoss Data Grid Security: Authorization and Authentication Expand section "22. Red Hat JBoss Data Grid Security: Authorization and Authentication" Collapse section "22. Red Hat JBoss Data Grid Security: Authorization and Authentication" 22.1. Red Hat JBoss Data Grid Security: Authorization and Authentication 22.2. Permissions 22.3. Role Mapping 22.4. Configuring Authentication and Role Mapping using Login Modules 22.5. Configuring Red Hat JBoss Data Grid for Authorization 22.6. Data Security for Library Mode Expand section "22.6. Data Security for Library Mode" Collapse section "22.6. Data Security for Library Mode" 22.6.1. Subject and Principal Classes 22.6.2. Obtaining a Subject 22.6.3. Subject Authentication 22.7. Securing Interfaces Expand section "22.7. Securing Interfaces" Collapse section "22.7. Securing Interfaces" 22.7.1. Securing Interfaces 22.7.2. Hot Rod Interface Security Expand section "22.7.2. Hot Rod Interface Security" Collapse section "22.7.2. Hot Rod Interface Security" 22.7.2.1. Encryption of communication between Hot Rod Server and Hot Rod client 22.7.2.2. Securing Hot Rod to LDAP Server using SSL 22.7.2.3. User Authentication over Hot Rod Using SASL Expand section "22.7.2.3. User Authentication over Hot Rod Using SASL" Collapse section "22.7.2.3. User Authentication over Hot Rod Using SASL" 22.7.2.3.1. User Authentication over Hot Rod Using SASL 22.7.2.3.2. Configure Hot Rod Authentication (GSSAPI/Kerberos) 22.7.2.3.3. Configure Hot Rod Authentication (MD5) 22.7.3. Hot Rod C++ Client Encryption 22.7.4. Hot Rod C# Client Encryption 22.7.5. Hot Rod Node.js Encryption 22.8. The Security Audit Logger Expand section "22.8. The Security Audit Logger" Collapse section "22.8. The Security Audit Logger" 22.8.1. The Security Audit Logger 22.8.2. Configure the Security Audit Logger (Library Mode) 22.8.3. Custom Audit Loggers 23. Security for Cluster Traffic Expand section "23. Security for Cluster Traffic" Collapse section "23. Security for Cluster Traffic" 23.1. Configure Node Security in Library Mode 23.2. Node Authorization in Library Mode IV. Advanced Features in Red Hat JBoss Data Grid Expand section "IV. Advanced Features in Red Hat JBoss Data Grid" Collapse section "IV. Advanced Features in Red Hat JBoss Data Grid" 24. Advanced Features in Red Hat JBoss Data Grid 25. Monitoring Expand section "25. Monitoring" Collapse section "25. Monitoring" 25.1. Monitoring 25.2. About Java Management Extensions (JMX) Expand section "25.2. About Java Management Extensions (JMX)" Collapse section "25.2. About Java Management Extensions (JMX)" 25.2.1. About Java Management Extensions (JMX) 25.2.2. Using JMX with Red Hat JBoss Data Grid 25.2.3. Enable JMX for Cache Instances 25.2.4. Enable JMX for CacheManagers 25.2.5. Multiple JMX Domains 25.2.6. Registering MBeans in Non-Default MBean Servers 25.3. StatisticsInfoMBean 26. Red Hat JBoss Data Grid as Lucene Directory Expand section "26. Red Hat JBoss Data Grid as Lucene Directory" Collapse section "26. Red Hat JBoss Data Grid as Lucene Directory" 26.1. Red Hat JBoss Data Grid as Lucene Directory 26.2. Configuration 26.3. Red Hat JBoss Data Grid Modules 26.4. Lucene Directory Configuration for Replicated Indexing 26.5. JMS Master and Slave Back End Configuration 27. Transactions Expand section "27. Transactions" Collapse section "27. Transactions" 27.1. About Java Transaction API 27.2. Configure Transactions (Library Mode) 27.3. Transactions Spanning Multiple Cache Instances 27.4. The Transaction Manager 28. Marshalling Expand section "28. Marshalling" Collapse section "28. Marshalling" 28.1. Marshalling 28.2. About the JBoss Marshalling Framework 28.3. Support for Non-Serializable Objects 28.4. Hot Rod and Marshalling 28.5. Configuring the Marshaller using the RemoteCacheManager 28.6. Troubleshooting Expand section "28.6. Troubleshooting" Collapse section "28.6. Troubleshooting" 28.6.1. Marshalling Troubleshooting 28.6.2. Other Marshalling Related Issues 29. The Infinispan CDI Module Expand section "29. The Infinispan CDI Module" Collapse section "29. The Infinispan CDI Module" 29.1. The Infinispan CDI Module 29.2. Using Infinispan CDI Expand section "29.2. Using Infinispan CDI" Collapse section "29.2. Using Infinispan CDI" 29.2.1. Infinispan CDI Prerequisites 29.2.2. Set the CDI Maven Dependency 29.3. Using the Infinispan CDI Module Expand section "29.3. Using the Infinispan CDI Module" Collapse section "29.3. Using the Infinispan CDI Module" 29.3.1. Using the Infinispan CDI Module 29.3.2. Configure and Inject Infinispan Caches Expand section "29.3.2. Configure and Inject Infinispan Caches" Collapse section "29.3.2. Configure and Inject Infinispan Caches" 29.3.2.1. Inject an Infinispan Cache 29.3.2.2. Inject a Remote Infinispan Cache 29.3.2.3. Set the Injection’s Target Cache Expand section "29.3.2.3. Set the Injection’s Target Cache" Collapse section "29.3.2.3. Set the Injection’s Target Cache" 29.3.2.3.1. Set the Injection’s Target Cache 29.3.2.3.2. Create a Qualifier Annotation 29.3.2.3.3. Add a Producer Class 29.3.2.3.4. Inject the Desired Class 29.3.3. Configure Cache Managers with CDI Expand section "29.3.3. Configure Cache Managers with CDI" Collapse section "29.3.3. Configure Cache Managers with CDI" 29.3.3.1. Configure Cache Managers with CDI 29.3.3.2. Specify the Default Configuration 29.3.3.3. Override the Creation of the Embedded Cache Manager 29.3.3.4. Configure a Remote Cache Manager 29.3.3.5. Configure Multiple Cache Managers with a Single Class 29.4. Storage and Retrieval Using CDI Annotations Expand section "29.4. Storage and Retrieval Using CDI Annotations" Collapse section "29.4. Storage and Retrieval Using CDI Annotations" 29.4.1. Configure Cache Annotations 29.4.2. Enable Cache Annotations 29.4.3. Caching the Result of a Method Invocation Expand section "29.4.3. Caching the Result of a Method Invocation" Collapse section "29.4.3. Caching the Result of a Method Invocation" 29.4.3.1. Caching the Result of a Method Invocation 29.4.3.2. Specify the Cache Used 29.4.3.3. Cache Keys for Cached Results 29.4.3.4. Generate a Custom Key 29.4.4. Cache Operations Expand section "29.4.4. Cache Operations" Collapse section "29.4.4. Cache Operations" 29.4.4.1. Update a Cache Entry 29.4.4.2. Remove an Entry from the Cache 29.4.4.3. Clear the Cache 30. Integration with the Spring Framework Expand section "30. Integration with the Spring Framework" Collapse section "30. Integration with the Spring Framework" 30.1. Integration with the Spring Framework 30.2. Defining the Spring Maven Dependency 30.3. Enabling Spring Cache Support Programmatically (Library Mode) 30.4. Enabling Spring Cache Support Programmatically (Remote Client-Server Mode) 30.5. Adding Caching to Application Code 31. Integration with Apache Spark Expand section "31. Integration with Apache Spark" Collapse section "31. Integration with Apache Spark" 31.1. Integration with Apache Spark 31.2. Spark Dependencies 31.3. Supported Spark Configuration Parameters 31.4. Creating and Using RDDs 31.5. Creating and Using DStreams 31.6. Using the Infinispan Query DSL with Spark 31.7. Spark Performance Considerations 32. Integration with Apache Hadoop Expand section "32. Integration with Apache Hadoop" Collapse section "32. Integration with Apache Hadoop" 32.1. Integration with Apache Hadoop 32.2. Hadoop Dependencies 32.3. Supported Hadoop Configuration Parameters 32.4. Using the Hadoop Connector 33. High Availability Using Server Hinting Expand section "33. High Availability Using Server Hinting" Collapse section "33. High Availability Using Server Hinting" 33.1. High Availability Using Server Hinting 33.2. ConsistentHashFactories Expand section "33.2. ConsistentHashFactories" Collapse section "33.2. ConsistentHashFactories" 33.2.1. ConsistentHashFactories 33.2.2. Implementing a ConsistentHashFactory 33.3. Key Affinity Service Expand section "33.3. Key Affinity Service" Collapse section "33.3. Key Affinity Service" 33.3.1. Key Affinity Service 33.3.2. Lifecycle 33.3.3. Topology Changes 34. Distributed Execution Expand section "34. Distributed Execution" Collapse section "34. Distributed Execution" 34.1. Distributed Execution 34.2. Distributed Executor Service 34.3. DistributedCallable API 34.4. Callable and CDI 34.5. Distributed Task Failover 34.6. Distributed Task Execution Policy 34.7. Distributed Execution and Locality Expand section "34.7. Distributed Execution and Locality" Collapse section "34.7. Distributed Execution and Locality" 34.7.1. Distributed Execution Example 35. Streams Expand section "35. Streams" Collapse section "35. Streams" 35.1. Streams 35.2. Using Streams on a Local/Invalidation/Replication Cache 35.3. Using Streams with a Distribution Cache 35.4. Setting Timeouts 35.5. Distributed Streams Expand section "35.5. Distributed Streams" Collapse section "35.5. Distributed Streams" 35.5.1. Distributed Streams 35.5.2. Marshallability 35.5.3. Parallelism 35.5.4. Distributed Operators Expand section "35.5.4. Distributed Operators" Collapse section "35.5.4. Distributed Operators" 35.5.4.1. Terminal Operator Distributed Result Reductions 35.5.4.2. Key Based Rehash Aware Operators 35.5.4.3. Intermediate Operation Exceptions 35.5.5. Distributed Stream Examples 36. Scripting Expand section "36. Scripting" Collapse section "36. Scripting" 36.1. Scripting 36.2. Accessing the Script Cache 36.3. Installing Scripts 36.4. Scripting Metadata 36.5. Script Bindings 36.6. Script Parameters 36.7. Script Execution Using the Hot Rod Java Client 36.8. Script Examples 36.9. Limitations when Executing Stored Scripts 37. Remote Task Execution Expand section "37. Remote Task Execution" Collapse section "37. Remote Task Execution" 37.1. Remote Task Execution 37.2. Creating a Remote Task 37.3. Installing Remote Tasks 37.4. Removing Remote Tasks 37.5. Running Remote Tasks 38. Data Interoperability Expand section "38. Data Interoperability" Collapse section "38. Data Interoperability" 38.1. Protocol Interoperability Expand section "38.1. Protocol Interoperability" Collapse section "38.1. Protocol Interoperability" 38.1.1. Protocol Interoperability 38.1.2. Enabling Compatibility Mode 38.1.3. Marshallers 38.1.4. Setting the Marshaller 38.1.5. Protocol Interoperability Over Memcached Expand section "38.1.5. Protocol Interoperability Over Memcached" Collapse section "38.1.5. Protocol Interoperability Over Memcached" 38.1.5.1. Transcoder for Java Clients 38.1.6. Protocol Interoperability Over REST 39. Set Up Cross-Datacenter Replication Expand section "39. Set Up Cross-Datacenter Replication" Collapse section "39. Set Up Cross-Datacenter Replication" 39.1. Cross-Datacenter Replication 39.2. Cross-Datacenter Replication Operations 39.3. Configure Cross-Datacenter Replication Programmatically 39.4. Taking a Site Offline 39.5. Hot Rod Cross Site Cluster Failover 40. Near Caching Expand section "40. Near Caching" Collapse section "40. Near Caching" 40.1. Near Caching 40.2. Configuring Near Caches 40.3. Near Caches in a Clustered Environment A. References Expand section "A. References" Collapse section "A. References" A.1. The Externalizer Expand section "A.1. The Externalizer" Collapse section "A.1. The Externalizer" A.1.1. About Externalizer A.1.2. Internal Externalizer Implementation Access A.2. Hash Space Allocation Expand section "A.2. Hash Space Allocation" Collapse section "A.2. Hash Space Allocation" A.2.1. About Hash Space Allocation A.2.2. Locating a Key in the Hash Space Legal Notice Settings Close Language: English 日本語 Language: English 日本語 Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: English 日本語 Language: English 日本語 Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Developer Guide Red Hat JBoss Data Grid 7.1For use with Red Hat JBoss Data Grid 7.1Red Hat Customer Content ServicesLegal NoticeAbstract An advanced guide intended for developers using Red Hat JBoss Data Grid 7.1 Next