Tibrv.open()

Method

Declaration

static void open() throws TibrvException
static void open(int implementation) throws TibrvException
static void open(String pathname) throws TibrvException

Purpose

Start Rendezvous internal machinery.

Remarks

This call creates the internal machinery that Rendezvous software requires for its operation:

Internal data structures.
Default event queue.
Intra-process transport.
Event driver.

Until the first call to Tibrv.open() creates the internal machinery, all events, transports, queues and queue groups are unusable. Messages and their methods do not depend on the internal machinery.

Parameter

Description

implementation

Open Rendezvous using this implementation.

Choose a value from among the constants Tibrv.IMPL_NATIVE, Tibrv.IMPL_JAVA, and Tibrv.IMPL_SELECT. See Implementations.

pathname

Programs that use IPM can supply a filepath name, which explicitly specifies a configuration file. IPM reads parameter values from that file.

For details, see Configuring IPM in TIBCO Rendezvous Concepts.

When IPM is not available, this version of the method throws an exception with error status.

Method Forms

With no argument, open using Tibrv.IMPL_SELECT. To determine the actual implementation, use Tibrv.isNativeImpl().

With an implementation argument, open using the specified implementation.

Implementations

These constants denote the implementation choices.

Constant

Description

Tibrv.IMPL_NATIVE

Open TIBCO Rendezvous machinery using the implementation in the JNI library, if possible; otherwise, throw a TibrvException with one of these status codes: TibrvStatus.VERSION_MISMATCH, TibrvStatus.WRONG_JAVA_ARCHIVE, TibrvStatus.LIBRARY_NOT_FOUND, TibrvStatus.LIBRARY_NOT_LOADED.

An exception could indicate an incorrect value of the CLASSPATH environment variable.

Tibrv.IMPL_JAVA

Open TIBCO Rendezvous machinery using the pure Java implementation.

Tibrv.IMPL_SELECT

Open TIBCO Rendezvous machinery using JNI library if possible; otherwise, use the Java implementation.

Reference Count

A reference count protects against interactions between programs and third-party packages that call Tibrv.open() and Tibrv.close(). Each call to Tibrv.open() increments an internal counter; each call to Tibrv.close() decrements that counter. A call to Tibrv.open() actually creates internal machinery only when the reference counter is zero; subsequent calls merely increment the counter, but do not duplicate the machinery. A call to Tibrv.close() actually destroys the internal machinery only when the call decrements the counter to zero; other calls merely decrement the counter. In each program, the number of calls to Tibrv.open() and Tibrv.close() must match.

See Also

Implementations

Tibrv.close()

Tibrv.isNativeImpl()