TIBCO StreamBase® Runtime

Transactional Memory Developers Guide

Software Release 10.5.0

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.

USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN LICENSE.PDF) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.

This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc.

TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, Two-Second Advantage, TIBCO ActiveMatrix BusinessWorks, are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.

EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.

THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.

THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.

THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.

THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.

November 05, 2019


About this book
Related documentation
Conventions
Reference cluster
Code snippets
TIBCO StreamBase® Runtime community
1. Introduction
What is TIBCO StreamBase® Runtime ?
Managed objects
2. Applications
Building applications
Node types
Fragment development
3. Application Definition Configuration
Overview
Configuration map
Configuration objects
4. Java Virtual Machine
Shutdown
Shutdown Hooks
Managing Threads
System input, output, and error
Unhandled Exceptions
5. Transactions
Transaction names
Transaction boundaries
Transaction isolation level
Transaction thread of control
Locking and deadlocks
Interaction with Java monitors
Notifiers
Exception handling
JNI transactional programming
Transactional considerations
6. Managed objects
Defining a managed object
Managed object life cycle
Equality and Hashcode
Extents
Triggers
Keys and Queries
Flushing objects
Named caches
Asynchronous methods
Array copy-in/copy-out
Reflection limitations
7. Distributed computing
Distributed object life cycle
Unavailable node exceptions
Remote objects
State conflict
Extents
Guidelines
8. High availability
Defining a partitioned object
Defining a partition mapper
Defining and enabling partitions
Initializing or restoring a node
Updating partition mapping
Disabled partition behavior
Transparent failover
Partition state change notifiers
Node state change notifiers
Timers
Failure exposure
9. Cluster Upgrades
Supported changes
Changing a class
Object mismatch interface
Upgrade utility
Putting it all together
10. Configuration
Defining configuration objects
Accessing configuration objects
Versions
Notifiers
Defining partitions using configuration
Runtime objects
11. Secondary Stores
Lifecycle
Transaction management
Extent notifier
Record notifier
Query notifier
Atomic create or select
Chaining notifiers
12. Components
Defining a component
Example
13. System management
Defining a system management target
14. Monitoring applications
Management console
Logging
Object monitor
15. Reference
Class resolution
Native libraries
Deploy tool
Upgrade utility
Supported system properties
Debugging example
Java Debug Wire Protocol
Index