What is the difference between tibrvj.jar and tibrvnative.jar?

What is the difference between tibrvj.jar and tibrvnative.jar?

book

Article ID: KB0087359

calendar_today

Updated On:

Products Versions
TIBCO Rendezvous -
Not Applicable -

Description

Resolution:
The main difference between the old implementation (tibrvj.jar) and the new implementation (tibrvnative.jar) is the thickness of the java layer.  They both use the RV C libraries underneath, it's just that the message data is marshaled in java in the old one and in C in the new one.

The implementation of tibrvnative.jar is totally different from the implementation of tibrvj.jar to offer greater speed than the old JNI libraries.  tibrvnative.jar was totally re-written in RV7.3 for programs that use TibrvRvdTransport connections.  Based on our experience, about 80% of RV java applications achieved better performance by using tibnative.jar.

tibrvnative.jar is implemented using JNI thin-message technology, which performs best with receiving applications that access only a few fields from inbound messages (ignoring the remaining fields).

tibrvj.jar is implemented using full-message technology, which performs best with receiving applications that access all the fields of inbound messages.

When needing to access all message fields, tibrvj.jar has shown better performance do to the message being hash when opened.  So depending on how you access the message fields and how many fields you have will determine which jar file will give you the best performance.

In most situations, tibrvnative is faster.  However, if you have a lot of fields within a message and you have to access all the fields, then you should use tibrvj.jar which performs better/faster in this case.  If you use a lot of nested messages, tibrvj.jar performs better.

We recommend customers to run tests and compare the performance of both jars, and decide which jar file they should use.  Testing application should emulate actual methods of sending and receiving messages including usage to determine the appropriate jar file to use.

Issue/Introduction

What is the difference between tibrvj.jar and tibrvnative.jar?