In Memory Object Management

In Memory object management does not persist object instances, which are maintained in local JVM memory only.

Objects are managed by standard JVM features. This is the only section on In Memory manager, because of its simplicity.

In Memory OM does not provide data recovery in case of system failure. The working memory on each system is not synchronized. Object state is not maintained. At startup after a failure, object state is initialized to the application’s starting state.

Note: The property be.stats.enabled allows you to turn on or off the aggregation of the metrics collected by TIBCO BusinessEvents, and in turn exposing them via JMX. It is honored only for in-memory mode and only if the property com.tibco.be.metric.publish.enable is true.

The In Memory option is a good choice for development and testing environments. In production environments, the In Memory option is best used for stateless operations and transient objects. An independently deployed In Memory application can act as an event router, directing events to agents in a cache cluster for processing.

Note: For Fault Tolerance:  In Memory OM itself does not support fault tolerance. If you require fault tolerance with an in memory system, then configure for Cache OM, but use the Memory Only mode for all objects. Because data is not persisted, it is lost during failover and failback. However, the engine process continues.

Another advantage of this approach is that the in memory processing units can participate in the larger cluster, instead of being a separately deployed application.

You can also control the performance of the statistics aggregators using the property be.stats.threading.model. The values are:
  • none - use the calling thread for doing the aggregation (not recommended, but is useful in debugging).
  • single - run all the aggregation in a single thread (default mode).
  • multi - run the aggregations on multiple threads. There are four aggregators: destinations, events, engine, and thread pool. Each aggregator runs on an individual thread resulting in four new threads.

See In-Memory Performance Statistics Specifications for detailed specifications.