Your SlideShare is downloading. ×

Coherence 12.1.2 Live Events

154

Published on

A description of the Live Events feature in Coherence 12.1.2.

A description of the Live Events feature in Coherence 12.1.2.

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
154
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×