![Page 1: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/1.jpg)
Infinispan - NoSQL für den Enterprise Java
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Alltag
1.2
![Page 2: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/2.jpg)
Ihr Sprecher
Christian Dedek
Trainer, Berater, Entwickler
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 2
SchwerpunkteSoftwarearchitektur
Qualitätsmanagement Performanceoptimierung
![Page 3: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/3.jpg)
Gliederung
• NoSQL und Java EE
• Infinispan
• Integrationsszenarien
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Ausblick
3
![Page 4: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/4.jpg)
Gliederung
• NoSQL und Java EE
• Infinispan
• Integrationsszenarien
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Ausblick
4
![Page 5: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/5.jpg)
NoSQL vs. Java EE
• NoSQL– Datenspeicher ohne festgelegte Tabellenschemata– skalieren horizontal– keine strenge Spezifikation( viele gut diskutierte/erprobte Konzepte)– viele Implementierungen auf verschiedenen Konzepten basierend
• Java EE– strenge Spezifikation einer Softwarearchitektur
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
– strenge Spezifikation einer Softwarearchitektur – transaktionsbasierte Ausführung von Java-Komponenten– auf transkaktionsbasiertem Konzept beruhende Teilstandards
• JTA/JCA/JPA/JMS/JDBC
– Horizontale Skalierung als Konzept für High Availability• Antwortzeiten• Ausfall von Knoten
– (insbesondere gedacht für Web-Anwendungen)
5
![Page 6: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/6.jpg)
NoSQL
• Dokumentenorientierte Datenbanken• Graphendatenbanken• Key-Value-Stores
– Diskbasiert– RAM-Cache– Sortierte Key-Value-Stores
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Eventually Consistent Stores• MultivalueDatenbanken• Objektdatenbanken• Spaltenorientierte Datenbank
6
![Page 7: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/7.jpg)
CAP-Theorem ( nach E. Brewer PODC Symposium 2000)
• Consistency – roughly meaning that all clients of a data store get responses to
requests that ‘make sense’. For example, if Client A writes 1 then 2 to location X, Client B cannot read 2 followed by 1.
• Availability– all operations on a data store eventually return successfully. We say
that a data store is ‘available’ for, e.g. write operations.
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
that a data store is ‘available’ for, e.g. write operations.
• Partition tolerance– “The network will be allowed to lose arbitrarily many messages sent
from one node to another”– if the network stops delivering messages between two sets of servers,
will the system continue to work correctly?
7
![Page 8: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/8.jpg)
CAP Theorem und JTA
Consistency
JTA JTA
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 8
AvailabilityPartion
Tolerance
n.a.
BASE
JTA JTA
![Page 9: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/9.jpg)
Data Grid vs. Distributed DBMS
Consistency
Data Distributed
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 9
AvailabilityPartion
Tolerance
n.a.
BASE
Data Grid
DistributedDBMS
![Page 10: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/10.jpg)
JSR 107(347) Elastic Data Grid für Java EE
Servlet
Node 1EJB
AppserverJSR 107
Node 1
JSR 107
JSR 107
Node 2
Data Grid
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 10
JSF
Node 3
Node 2
JSR 107
Node 3
Node 2
Secondary Store
![Page 11: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/11.jpg)
JSR 107 API - Standard für einen Distributed HashTable
• Distributed HashTable– javax.cache.Cache
• ähnlich java.util.ConcurrentMap
• Managementschnittstellen– javax.cache.CacheManager– javax.cache..CacheListener
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Annotationen z.B.– @CacheResult,@CacheKeyParam,@CacheRemove.
11
![Page 12: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/12.jpg)
javax.cache.CacheLoader
JEEApplication
Cache
1. Get
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 12
• Secondary Store
CacheLoader
2. load
![Page 13: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/13.jpg)
javax.cache.CacheWriter
JEEApplication
Cache
1. Put
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 13
• Secondary Store
CacheWriter
2. store
![Page 14: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/14.jpg)
Expiration
Cache
I
Y
XMput
get
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 14
F
D
![Page 15: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/15.jpg)
Gliederung
• NoSQL und Java EE
• Infinispan
• Integrationsszenarien
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Ausblick
15
![Page 16: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/16.jpg)
Infinispan
• Key-Value-Store– Distributed HashTable(JSR 107/347)– Transactional (JTA)– Low-latency (RAM)– Optional persist to disk
• Open Source Data Grid Plattform (LGPL)– JBoss/Red Hat
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
– JBoss/Red Hat
• Java and Scala• Nicht nur für die JVM gedacht• in verschiedenen Modi einsetzbar
– Embedded– Client/Server(Data Grid)
16
Consistency
AvailabilityPartion
Tolerance
n.a.
BASE
Infinispan DistributedDBs
![Page 17: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/17.jpg)
Demo
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 17
![Page 18: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/18.jpg)
Local Embedded Mode
JEE
Application
Data Access
UI
0./3. Query
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 18
SecondaryStore
2. Read Cache
1. get4. Read
![Page 19: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/19.jpg)
Local Embedded Mode II
• Code in der gleiche VM wie infinispan• wenig Konfigurationsarbeit
– Mit default EinstellungenDefaultCacheManager cacheManager = new DefaultCacheManager();
Cache<String, String> cache = cacheManager.getCache( );
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
– Mit eigenen Einstellungen z.B: Clustereinstellungen
DefaultCacheManager cacheManager = newDefaultCacheManager(„cluster.xml");
Cache<String, String> cache = cacheManager.getCache( );
19
![Page 20: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/20.jpg)
Infinispan und Java EE Clustering
JEE
Application
Data Access
UI
0./4. Query
JEE
Application
Data Access
UI
0. Update
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 20
Cache
1. get5. get
Cache
1.x Store A1 2. Read A
• Secondary Store
![Page 21: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/21.jpg)
Clustered Embedded Mode
JEE
Application
Data Access
UI
0./4. Query
JEE
Application
Data Access
UI
n.
JEE
Application
Data Access
UI
n+k.
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 21
Cache
2. get5. put
Cache
• Secondary Store
Cache
3./6. load/Store
![Page 22: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/22.jpg)
Demo
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 22
![Page 23: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/23.jpg)
JEEApplication
Data Access
JEEApplication
Data Access
2. Put
0. query
Replication
JEEApplication
Data Access
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
CacheCache
23
Cache
1. Store
• Secondary Store
Replicate Replicate
![Page 24: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/24.jpg)
JEEApplication
Data Access
4. get
3. query
Invalidation
JEEApplication
Data Access
JEEApplication
Data Access
1. Put
0. query
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
Cache
4. get
24
CacheCache
• Secondary Store
Invalidate Invalidate
2. Store
5. load
![Page 25: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/25.jpg)
JEEApplication
Data Access
2. get
0. query
Distribution [numOwner=2]
JEEApplication
Data Access
JEEApplication
Data Access
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
Cache
25
CacheCache
1. Read
• Secondary Store
Copy
![Page 26: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/26.jpg)
Client/Server Mode
Non JavaApplication
Plenty
JEEApplication
Data Access
JSEApplication
Data Access
Hotrod
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 26
Load/Store
JVM
Cache
• Secondary Store
memcachedJVM
Cache
Hotrod
![Page 27: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/27.jpg)
Demo
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 27
![Page 28: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/28.jpg)
Client/Server Mode II
• Starten des Servers erfordert die Angabe des Protokolls– bin/clustered.sh -Djboss.socket.binding.port-offset=xxx -
Djboss.node.name=nodeX
• org.infinispan.client.hotrod.RemoteCacheManagerRemoteCacheManager rcm = new
RemoteCacheManager ("192.168.3.120");
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
RemoteCacheManager ("192.168.3.120");
RemoteCache remoteCace = rcm.getCache();
String key = "hello";
remoteCace.put(key, "world");
28
![Page 29: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/29.jpg)
Client/Server Remoting
RemoteEndpoint
Protokoll Smart Routing
LoadBalancing
Memcached Text - VordefinierteListe
ReSTful Text - http Loadbalancer
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
Loadbalancer
HotRod Binary + DynamischeTopologie
29
JVM
Cache
JEEApplication
Data Access
GroovyApplication
Data Access
![Page 30: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/30.jpg)
CacheStore
JEEApplication
Cache
1. Put
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 30
• Secondary Store
CacheStore
2. store
![Page 31: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/31.jpg)
Eviction
Cache
I
Y
XM FDput
get
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 31
MemorymeterStrategiez.B. LRU
![Page 32: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/32.jpg)
Storage JPA Cache Store
• Implementierung mit JPA 2• Speicherung mit applikationsspezifischem Datenmodell• Key muss Primärschlüssel der Entität sein
– @Id, @EmbeddedId
• Keine generierten Ids
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
Cache<String, User> usersCache = cacheManager.getCache("myJPACache"); // configured f or User entity class
usersCache.put(„Gosling_James", new User());
Cache<Integer, Teacher> teachersCache = cacheManager.getCache("myJPACache"); // cannot do th is whenthis cache is configured to use a JPA cache store
teachersCache.put(1, new Teacher());
32
![Page 33: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/33.jpg)
Storage JPA Cache Store
<namedCache name=„ myJPACache">
<loaders passivation="false" shared="true" preload=" true">
<jpaStore
persistenceUnitName="org.infinispan.loaders.jpa.con figurationTest"
entityClassName="org.infinispan.loaders.jpa.entity. User "
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
er "
/>
</loaders>
</namedCache>
33
![Page 34: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/34.jpg)
Gliederung
• NoSQL und Java EE
• Infinispan
• Integrationsszenarien
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Ausblick
34
![Page 35: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/35.jpg)
DI-Container Integration
DI Container
Tra
nsac
tionI
nter
epto
r
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 35
Rem
oteC
onne
ctor
Ser
vice
Tra
nsac
tionI
nter
epto
r
Cac
he
DA
O
Cac
heS
tore
![Page 36: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/36.jpg)
Spring Integration
• Spring 3.1 Cache Abstraktion• Infinispan Provider • Integration mit Spring DI für CacheManager und Cache
<bean id= "cacheManager"
class= "org.infinispan.spring.provider.SpringEmbeddedCacheManagerFactoryBean"
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
actoryBean"
p:configurationFileLocation= "classpath:META-INF/oio-infinispan-config.xml">
</bean>
• Aktivieren des Cache– <cache:annotation-driven />
36
![Page 37: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/37.jpg)
Spring Integration
• Cache Annotation@Cacheable("nachrichtenCache")
public List<Nachricht> findAlleUngeleseneNachrichten () {… }
@Cacheable("nachrichtenCache", key=#" projektId ")
public List<Nachricht> findNachrichtenFuerProjekt(Bi gIntegerprojektId) {… }
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Deklarative Eviction@CacheEvict(value = "nachrichtenCache", allEntries = true)
public void nachrichtMarkieren(BigInteger nachrichtId, booleanungelesen) {… }
37
![Page 38: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/38.jpg)
CDI
• Konfiguration und Injizierung des Infinispan Cache– Cache Injizierung
@Inject
private Cache<String, String> cache;
@Inject
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
@Inject
RemoteCache<String, String> remoteCache;
• Partielle Unterstützung vom JSR 107 Annotationen
38
![Page 39: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/39.jpg)
CDI
• Eigene Cache [email protected]@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface NachrichtenCache {}
public class CacheCreator {
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
public class CacheCreator {@ConfigureCache("nachrichtencache") // cache name.
@NachrichtenCache // cache qualifier.
@Produces
public Configuration specialCacheCfg() {
return new ConfigurationBuilder()
.eviction()
.strategy(EvictionStrategy.LRU)
.maxEntries(10)
.build();
}
}
39
![Page 40: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/40.jpg)
CDI
• Injizierung des eigenen Caches
public class MyCDIComponent {
@Inject @NachrichtenCache
Cache<String, String> nachrichtenCache;
}
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 40
![Page 41: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/41.jpg)
OR/M Integration
Java Virtual Machine
Anwendung
Transient
Transient
PersistenceManager
1.Level Cache
ConnectionInstanzInstanz
Instanz
QueryFacility
Transaction
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH 42
TransientTransient
TransientDB
2.Level Cache
Entity Cache
InstanzInstanz
InstanzInstanz
QueryFacility
QueryCache
TimestampCache
![Page 42: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/42.jpg)
Hibernate 2nd Level Cache
• Entity Cache– Key der Primärschlüssel– Cache lokal(default) oder repliziert – Replizierter Cache nicht empfohlen
• Query Cache– Key ist query-name und Parameter Hash
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
– Key ist query-name und Parameter Hash– Cache lokal(default) oder repliziert
• Timestamps Cache– asynchrone Replikation(default)– keine eviction/expiration
43
![Page 43: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/43.jpg)
Hibernate second level cache
• JTA Transaktion Manager– Hibernate soll/muss JTA Manager nutzen.
<property name= "hibernate.cache.use_second_level_cache" value="true"/>
<property name= "hibernate.cache.use_query_cache" value="true"/>
<property name= "hibernate.cache.region.factory_class" value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
value="org.hibernate.cache.infinispan.InfinispanRegionFactory"/>
<property name= "hibernate.cache.infinispan.cfg" value="/oio-infinispan-config.xml"/>
<property name= "hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTSStandaloneTransactionManagerLookup"/>
44
![Page 44: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/44.jpg)
Gliederung
• NoSQL und Java EE
• Infinispan
• Integrationsszenarien
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Ausblick
45
![Page 45: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/45.jpg)
Infinispan Ausblick
• Map/Reduce Support
• Versioned Entries
• Support Eventual Consistency (7.0 ?)
Infinispan - NoSQL für den Enterprise Java Alltag© 2014 Orientation in Objects GmbH
• Optimierungen:– Transaktionen– Locking– RPC
46
![Page 46: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/46.jpg)
? ??Fragen ?
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
??Fragen ?
47
![Page 47: Infinispan - NoSQL für den Enterprise Java Alltag](https://reader033.vdocuments.site/reader033/viewer/2022042814/554a0e01b4c9058c5d8b47bc/html5/thumbnails/47.jpg)
Vielen Dank für ihre
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Vielen Dank für ihre Aufmerksamkeit !