SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
<Insert Picture Here>
Coherence Live Events
Harvey Raja
Principal Member Technical Staff, Cloud Application Foundation
Oracle Coherence
Oracle Fusion Middleware 12c
Cloud Application Foundation
You Video Series
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making
purchasing decisions. The development, release, and timing
of any features or functionality described for Oracle s
products remains at the sole discretion of Oracle.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3
Cloud Application Foundation
Coherence 12c Demonstration – Live Events
§  Complete
§  Open
§  Integrated
§  Best in Class
§  On Premise – Private Cloud
§  Public Cloud
Cloud Application Foundation
Traffic Director/Web Tier
WebLogic Server Coherence Tuxedo
Virtual Assembly Builder
ORACLE Cloud
Exalogic Elastic Cloud
Live Events
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4
Coherence Eventing Mechanisms
§  MapListener
–  Client-side “post”-events
§  Triggers
–  Server-side “pre”-events
§  Backing Map Listeners
–  Server-side “post”-events
§  Others
–  PartitionListener, MemberListener, ServiceListener
Existing
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5
Coherence Eventing Mechanisms
§  Distinct registration mechanism per event type
§  No commonality for client interfaces or events
§  Are the events synchronously or asynchronously dispatched?
Disadvantages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
Live Event Model
§  EntryEvent
–  Data related
§  EntryProcessorEvent
–  EntryProcessor invocation
§  TransferEvent
–  Partition redistribution
§  TransactionEvent
–  Cross cache event
PartitionedCache PartitionedService
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7
Data-Related Events
§  BinaryEntry-based
public interface EntryEvent!
extends Event<EntryEvent.Type>!
{!
/**!
* Return the immutable Set of {@link BinaryEntry entries} on which the!
* action represented by this {@link EntryEvent} occurred.!
*!
* @return the Set of entries represented by this event!
*/!
public Set<BinaryEntry> getEntrySet();!
!
!
public static enum Type!
{!
INSERTING, INSERTED, UPDATING, UPDATED, REMOVING, REMOVED!
}!
}!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8
Data-Related Events
NamedCache.put()NamedCache.put()
EventInterceptor
INSERTING
EventInterceptor
INSERTING
10110110
00101010
11010011
Backup
(async)
INSERTED
Backup
(async)
INSERTED
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9
EntryProcessor-Related Events
§  BinaryEntry-based
public interface EntryProcessorEvent!
extends Event<EntryEvent.Type>!
{!
"public Set<BinaryEntry> getEntrySet();!
/**!
* Return the {@link EntryProcessor} associated with this {@link!
* EntryProcessorEvent}.!
*!
* @return the entry processor associated with this event!
*/!
public EntryProcessor getProcessor();!
!
public static enum Type!
{!
EXECUTING, EXECUTED!
}!
}!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
EntryProcessor-Related Events
NamedCache.invoke()NamedCache.invoke() EventInterceptor
EXECUTING
EntryProcessor
EventInterceptor
EXECUTING
EntryProcessor
10110110
00101010
11010011
10110110
00101010
11010011
Backup
(async)
EXECUTED
Backup
(async)
EXECUTED
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Transfer-Related Events
§  BinaryEntry-based
public interface TransferEvent!
extends Event<EntryEvent.Type>!
{!
public int getPartitionId();!
public Member getLocalMember();!
public Member getRemoteMember();!
/**!
* Return a map of cache names and associated set of read-only {@link!
* BinaryEntry entries} encapsulated in this {@link TransferEvent}. The!
* returned map and contained sets are immutable.!
*!
* @return a map of cache names and associated set of entries!
*/!
public Map<String, Set<BinaryEntry>> getEntries();!
!
public static enum Type!
{!
DEPARTING, ARRIVED!
}!
}!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12
ARRIVEDARRIVED
Transfer-Related Events
EventInterceptor EventInterceptor
EventInterceptor
EventInterceptor
DEPARTING
EventInterceptor
DEPARTING
EventInterceptor
DEPARTING
EventInterceptor
DEPARTING
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13
Transaction-Related Events
§  All entries enlisted within a partition local transaction
§  BinaryEntry-based
public interface TransactionEvent!
extends Event<TransactionEvent.Type>!
{!
/**!
* A set of {@link BinaryEntry entries} enlisted within this!
* transaction.!
*!
* @return a set of entries enlisted within this transaction!
*/!
public Set<BinaryEntry> getEntrySet();!
!
public static enum Type!
{!
COMMITTING, COMMITTED!
}!
}!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14
COMMITTED
Backup
(async)
EventInterceptor
Transaction-Related Events
NamedCache
.invokeAll({A,B})
NamedCache
.invokeAll({A,B}) EntryProcessor
Keys:{A,B}Keys:{A,B}
enlist:{C}enlist:{C}
COMMITTING:{A,B,C}COMMITTING:{A,B,C}
COMMITTED
Backup
(async)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
Registration
§  distributed-scheme
–  PartitionedService level interceptors: TransferEvent & TransactionEvent
–  PartitionedCache events for all caches
§  cache-scheme-mapping
–  PartitionedCache level interceptors: EntryEvent & EntryProcessorEvent
–  Ties to caches that conform to the cache-name pattern
§  Use Annotation & Generics to filter events
Declarative – Cache Configuration
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16
Registration
Declarative – Cache Configuration
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Registration
§  ConfigurableCacheFactory holds an InterceptorRegistry:
§  Annotation and Generics on interceptor are honored
§  Services and caches can be filtered by implementing:
EventDispatcherAwareInterceptor
Programmatic
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19
Join the Coherence Community
http://coherence.oracle.com
@OracleCoherence
/OracleCoherence
blogs.oracle.com/OracleCoherence
Group: Oracle Coherence Users
/OracleCoherence
coherence.oracle.com/display/CSIG
Coherence Special Interest Group
<Insert Picture Here>
Coherence Live Events
Harvey Raja
Principal Member Technical Staff, Cloud Application Foundation
Oracle Coherence
Oracle Fusion Middleware 12c
Cloud Application Foundation
You Video Series

Contenu connexe

Tendances

Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right wayThibaud Desodt
 
Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Orkhan Gasimov
 
Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixProvisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixDavid Bosschaert
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Ryosuke Uchitate
 
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas ContéMicrosoft Technet France
 
Building scalable applications with hazelcast
Building scalable applications with hazelcastBuilding scalable applications with hazelcast
Building scalable applications with hazelcastFuad Malikov
 
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersMySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersFrederic Descamps
 
Maximize the power of OSGi
Maximize the power of OSGiMaximize the power of OSGi
Maximize the power of OSGiDavid Bosschaert
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with KeycloakJulien Pivotto
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Alex Kosowski
 
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020the State of the Dolphin - October 2020
the State of the Dolphin - October 2020Frederic Descamps
 
Bkbiet day2 & 3
Bkbiet day2 & 3Bkbiet day2 & 3
Bkbiet day2 & 3mihirio
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019Matt Raible
 
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with Magento
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with MagentoMagento Imagine eCommerce Conference - February 2011 - Unit Testing with Magento
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with Magentovarien
 

Tendances (19)

Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right way
 
Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 
Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and FelixProvisioning with OSGi Subsystems and Repository using Apache Aries and Felix
Provisioning with OSGi Subsystems and Repository using Apache Aries and Felix
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
 
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté
[AzureCamp 24 Juin 2014] Cache Distribué par Thomas Conté
 
Building scalable applications with hazelcast
Building scalable applications with hazelcastBuilding scalable applications with hazelcast
Building scalable applications with hazelcast
 
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersMySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
 
Maximize the power of OSGi
Maximize the power of OSGiMaximize the power of OSGi
Maximize the power of OSGi
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
Guice gin
Guice ginGuice gin
Guice gin
 
Sapphire Gimlets
Sapphire GimletsSapphire Gimlets
Sapphire Gimlets
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375
 
Advance MySQL Docstore Features
Advance MySQL Docstore FeaturesAdvance MySQL Docstore Features
Advance MySQL Docstore Features
 
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020the State of the Dolphin - October 2020
the State of the Dolphin - October 2020
 
An intro to cqrs
An intro to cqrsAn intro to cqrs
An intro to cqrs
 
Bkbiet day2 & 3
Bkbiet day2 & 3Bkbiet day2 & 3
Bkbiet day2 & 3
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
 
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with Magento
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with MagentoMagento Imagine eCommerce Conference - February 2011 - Unit Testing with Magento
Magento Imagine eCommerce Conference - February 2011 - Unit Testing with Magento
 

En vedette

Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčević
Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan RajčevićZakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčević
Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčevićkomorabl
 
Program Konferencije o IKT
Program Konferencije o IKTProgram Konferencije o IKT
Program Konferencije o IKTkomorabl
 
Igor Pandžić prezentacija
Igor Pandžić prezentacijaIgor Pandžić prezentacija
Igor Pandžić prezentacijakomorabl
 
Caster111111111
Caster111111111Caster111111111
Caster111111111caster21
 
Program Konferencije o IKT
Program Konferencije o IKTProgram Konferencije o IKT
Program Konferencije o IKTkomorabl
 
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...harvraja
 
Samir Mesić prezentacija
Samir Mesić prezentacijaSamir Mesić prezentacija
Samir Mesić prezentacijakomorabl
 
Coherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsCoherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsharvraja
 
Prezentacija east code
Prezentacija east codePrezentacija east code
Prezentacija east codekomorabl
 
Ministarstvo prosvjete u kulture - Sanela Dojčinović
Ministarstvo prosvjete u kulture - Sanela DojčinovićMinistarstvo prosvjete u kulture - Sanela Dojčinović
Ministarstvo prosvjete u kulture - Sanela Dojčinovićkomorabl
 
Κλασική εποχή β'
Κλασική εποχή β'Κλασική εποχή β'
Κλασική εποχή β'varalig
 
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžić
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor PandžićZakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžić
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžićkomorabl
 
Tasso di cambio reale
Tasso di cambio realeTasso di cambio reale
Tasso di cambio realecambiovaluta
 
WeB Početni sastanak - Igor Pandžić
WeB Početni sastanak - Igor PandžićWeB Početni sastanak - Igor Pandžić
WeB Početni sastanak - Igor Pandžićkomorabl
 
Coherence 12.1.2 Hidden Gems
Coherence 12.1.2 Hidden GemsCoherence 12.1.2 Hidden Gems
Coherence 12.1.2 Hidden Gemsharvraja
 
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...komorabl
 
Radna snaga u it industriji - Brano Vujičić
Radna snaga u it industriji - Brano VujičićRadna snaga u it industriji - Brano Vujičić
Radna snaga u it industriji - Brano Vujičićkomorabl
 
ραψωδία Ζ στ. 369 465
ραψωδία Ζ στ. 369 465ραψωδία Ζ στ. 369 465
ραψωδία Ζ στ. 369 465varalig
 

En vedette (20)

Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčević
Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan RajčevićZakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčević
Zakonsko okruženje kao preduslov razvoja informacionog društva - Srđan Rajčević
 
Program Konferencije o IKT
Program Konferencije o IKTProgram Konferencije o IKT
Program Konferencije o IKT
 
Igor Pandžić prezentacija
Igor Pandžić prezentacijaIgor Pandžić prezentacija
Igor Pandžić prezentacija
 
Caster111111111
Caster111111111Caster111111111
Caster111111111
 
Program Konferencije o IKT
Program Konferencije o IKTProgram Konferencije o IKT
Program Konferencije o IKT
 
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...
JavaOne-2013: Save Scarce Resources by Managing Terabytes of Objects off-heap...
 
Samir Mesić prezentacija
Samir Mesić prezentacijaSamir Mesić prezentacija
Samir Mesić prezentacija
 
Coherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsCoherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gems
 
Prezentacija east code
Prezentacija east codePrezentacija east code
Prezentacija east code
 
Ministarstvo prosvjete u kulture - Sanela Dojčinović
Ministarstvo prosvjete u kulture - Sanela DojčinovićMinistarstvo prosvjete u kulture - Sanela Dojčinović
Ministarstvo prosvjete u kulture - Sanela Dojčinović
 
Κλασική εποχή β'
Κλασική εποχή β'Κλασική εποχή β'
Κλασική εποχή β'
 
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžić
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor PandžićZakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžić
Zakonsko okruženje kao preduslov razvoja informacionog društva - Igor Pandžić
 
Tasso di cambio reale
Tasso di cambio realeTasso di cambio reale
Tasso di cambio reale
 
WeB Početni sastanak - Igor Pandžić
WeB Početni sastanak - Igor PandžićWeB Početni sastanak - Igor Pandžić
WeB Početni sastanak - Igor Pandžić
 
Coherence 12.1.2 Hidden Gems
Coherence 12.1.2 Hidden GemsCoherence 12.1.2 Hidden Gems
Coherence 12.1.2 Hidden Gems
 
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...
Primjena informaciono-komunikacionih tehnologija u privrednim društvima kao b...
 
Radna snaga u it industriji - Brano Vujičić
Radna snaga u it industriji - Brano VujičićRadna snaga u it industriji - Brano Vujičić
Radna snaga u it industriji - Brano Vujičić
 
Od 09
Od 09Od 09
Od 09
 
Banche centrali
Banche centraliBanche centrali
Banche centrali
 
ραψωδία Ζ στ. 369 465
ραψωδία Ζ στ. 369 465ραψωδία Ζ στ. 369 465
ραψωδία Ζ στ. 369 465
 

Similaire à Coherence 12.1.2 Live Events

Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishJava API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishArun Gupta
 
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Masoud Kalali
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Bruno Borges
 
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)Shing Wai Chan
 
Java EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasJava EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasBruno Borges
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey ClientMichal Gajdos
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegelermfrancis
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7Bruno Borges
 
As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0Bruno Borges
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)Shing Wai Chan
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta jaxconf
 
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun GuptaGetting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun GuptaCodemotion
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0mnriem
 
Salesforce meetup | Lightning Web Component
Salesforce meetup | Lightning Web ComponentSalesforce meetup | Lightning Web Component
Salesforce meetup | Lightning Web ComponentAccenture Hungary
 
RIBs - Fragments which work
RIBs - Fragments which workRIBs - Fragments which work
RIBs - Fragments which workDmitry Zaytsev
 
ADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and SynchingADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and SynchingSteven Davelaar
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansBruno Borges
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Edward Burns
 

Similaire à Coherence 12.1.2 Live Events (20)

Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishJava API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFish
 
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
 
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
JavaOne San Francisco 2013 - Servlet 3.1 (JSR 340)
 
Java EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e MudançasJava EE 7 - Novidades e Mudanças
Java EE 7 - Novidades e Mudanças
 
Reactive Jersey Client
Reactive Jersey ClientReactive Jersey Client
Reactive Jersey Client
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
 
As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0As novidades do Java EE 7: do HTML5 ao JMS 2.0
As novidades do Java EE 7: do HTML5 ao JMS 2.0
 
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
JavaOne Shanghai 2013 - Servlet 3.1 (JSR 340)
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
 
E29632
E29632E29632
E29632
 
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun GuptaGetting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
 
OID Install and Config
OID Install and ConfigOID Install and Config
OID Install and Config
 
Salesforce meetup | Lightning Web Component
Salesforce meetup | Lightning Web ComponentSalesforce meetup | Lightning Web Component
Salesforce meetup | Lightning Web Component
 
RIBs - Fragments which work
RIBs - Fragments which workRIBs - Fragments which work
RIBs - Fragments which work
 
ADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and SynchingADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and Synching
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeans
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013
 

Dernier

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Coherence 12.1.2 Live Events

  • 1. <Insert Picture Here> Coherence Live Events Harvey Raja Principal Member Technical Staff, Cloud Application Foundation Oracle Coherence Oracle Fusion Middleware 12c Cloud Application Foundation You Video Series
  • 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3 Cloud Application Foundation Coherence 12c Demonstration – Live Events §  Complete §  Open §  Integrated §  Best in Class §  On Premise – Private Cloud §  Public Cloud Cloud Application Foundation Traffic Director/Web Tier WebLogic Server Coherence Tuxedo Virtual Assembly Builder ORACLE Cloud Exalogic Elastic Cloud Live Events
  • 4. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4 Coherence Eventing Mechanisms §  MapListener –  Client-side “post”-events §  Triggers –  Server-side “pre”-events §  Backing Map Listeners –  Server-side “post”-events §  Others –  PartitionListener, MemberListener, ServiceListener Existing
  • 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5 Coherence Eventing Mechanisms §  Distinct registration mechanism per event type §  No commonality for client interfaces or events §  Are the events synchronously or asynchronously dispatched? Disadvantages
  • 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6 Live Event Model §  EntryEvent –  Data related §  EntryProcessorEvent –  EntryProcessor invocation §  TransferEvent –  Partition redistribution §  TransactionEvent –  Cross cache event PartitionedCache PartitionedService
  • 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Data-Related Events §  BinaryEntry-based public interface EntryEvent! extends Event<EntryEvent.Type>! {! /**! * Return the immutable Set of {@link BinaryEntry entries} on which the! * action represented by this {@link EntryEvent} occurred.! *! * @return the Set of entries represented by this event! */! public Set<BinaryEntry> getEntrySet();! ! ! public static enum Type! {! INSERTING, INSERTED, UPDATING, UPDATED, REMOVING, REMOVED! }! }!
  • 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8 Data-Related Events NamedCache.put()NamedCache.put() EventInterceptor INSERTING EventInterceptor INSERTING 10110110 00101010 11010011 Backup (async) INSERTED Backup (async) INSERTED
  • 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9 EntryProcessor-Related Events §  BinaryEntry-based public interface EntryProcessorEvent! extends Event<EntryEvent.Type>! {! "public Set<BinaryEntry> getEntrySet();! /**! * Return the {@link EntryProcessor} associated with this {@link! * EntryProcessorEvent}.! *! * @return the entry processor associated with this event! */! public EntryProcessor getProcessor();! ! public static enum Type! {! EXECUTING, EXECUTED! }! }!
  • 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10 EntryProcessor-Related Events NamedCache.invoke()NamedCache.invoke() EventInterceptor EXECUTING EntryProcessor EventInterceptor EXECUTING EntryProcessor 10110110 00101010 11010011 10110110 00101010 11010011 Backup (async) EXECUTED Backup (async) EXECUTED
  • 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11 Transfer-Related Events §  BinaryEntry-based public interface TransferEvent! extends Event<EntryEvent.Type>! {! public int getPartitionId();! public Member getLocalMember();! public Member getRemoteMember();! /**! * Return a map of cache names and associated set of read-only {@link! * BinaryEntry entries} encapsulated in this {@link TransferEvent}. The! * returned map and contained sets are immutable.! *! * @return a map of cache names and associated set of entries! */! public Map<String, Set<BinaryEntry>> getEntries();! ! public static enum Type! {! DEPARTING, ARRIVED! }! }!
  • 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12 ARRIVEDARRIVED Transfer-Related Events EventInterceptor EventInterceptor EventInterceptor EventInterceptor DEPARTING EventInterceptor DEPARTING EventInterceptor DEPARTING EventInterceptor DEPARTING
  • 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 Transaction-Related Events §  All entries enlisted within a partition local transaction §  BinaryEntry-based public interface TransactionEvent! extends Event<TransactionEvent.Type>! {! /**! * A set of {@link BinaryEntry entries} enlisted within this! * transaction.! *! * @return a set of entries enlisted within this transaction! */! public Set<BinaryEntry> getEntrySet();! ! public static enum Type! {! COMMITTING, COMMITTED! }! }!
  • 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 COMMITTED Backup (async) EventInterceptor Transaction-Related Events NamedCache .invokeAll({A,B}) NamedCache .invokeAll({A,B}) EntryProcessor Keys:{A,B}Keys:{A,B} enlist:{C}enlist:{C} COMMITTING:{A,B,C}COMMITTING:{A,B,C} COMMITTED Backup (async)
  • 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15 Registration §  distributed-scheme –  PartitionedService level interceptors: TransferEvent & TransactionEvent –  PartitionedCache events for all caches §  cache-scheme-mapping –  PartitionedCache level interceptors: EntryEvent & EntryProcessorEvent –  Ties to caches that conform to the cache-name pattern §  Use Annotation & Generics to filter events Declarative – Cache Configuration
  • 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16 Registration Declarative – Cache Configuration
  • 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17 Registration §  ConfigurableCacheFactory holds an InterceptorRegistry: §  Annotation and Generics on interceptor are honored §  Services and caches can be filtered by implementing: EventDispatcherAwareInterceptor Programmatic
  • 18. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18
  • 19. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19 Join the Coherence Community http://coherence.oracle.com @OracleCoherence /OracleCoherence blogs.oracle.com/OracleCoherence Group: Oracle Coherence Users /OracleCoherence coherence.oracle.com/display/CSIG Coherence Special Interest Group
  • 20. <Insert Picture Here> Coherence Live Events Harvey Raja Principal Member Technical Staff, Cloud Application Foundation Oracle Coherence Oracle Fusion Middleware 12c Cloud Application Foundation You Video Series