When we deploy applications on TIBCO Domain which created on the Linux/Unix platform, some files will be created in a temporary directory. In default, the temporary directory is /tmp. It may cause application deployed failure, if you delete those files in temporary directory. So, we’d better don’t use /tmp as the temporary directory, because many users can access it and maybe delete the TIBCO Domain’s file.
To change the temporary directory, following parameter should be added in tibcoadmin_domainname.tra and hawkagent_domainname.tra:
java.property.java.io.tmpdir=/tibco/tmp
2. The problem about configure HA mode of TIBCO Domain
When create TIBCO Domain with HA mode using TRA5.5, some error will be got during the Add Logic Machine operation. We can’t login the TIBCO Domain through Web Broswer after the server switch to node server 2. Following steps can resolve this problem:
Create TIBCO Domain on the node server 1, and then switch to the node server 2 to do the Add Logic Machine operation and ignore the error message.
Copy the index.js which can be found in <TIBCO_HOME>\tibco\administrator\5.4\tomcat\webapps\ROOT on the node server 1 to the same directory on node server 2.
Start the hawk agent and administrator; switch the server, login TIBCO Domain will successful using web browser.
3. Configure 64bit environment for BusinessWorks
There are some introduction about configure 64bit environment for BusinessWorks in the BW document. But after configured following those introduction, BW application can started. To configure it successful, %RV_HOME%/lib/tibrvjsd.jar should not be added to the tibco.env.STD_EXT_CP, just add %RV_HOME%/lib/tibrvj.jar.
4. Adapter Reconnect to the EMS Server
In default, the Adapter application which uses EMS as its transport will be shutdown when the EMS Server connection disconnected, because the Adapter can’t reconnect to the EMS server. Following configuration will enable the Adapter applications reconnect to the EMS server:
Add following parameters into the Adapter’s tra file:
tibco.jmsreconnectcount 1000 –reconnect count
tibco.jmsreconnectdelay 1000 –the interval between the reconnect, in millisecond
The EMS provider URL of the Adapter must set as following:
Tcp://emshost:7222,tcp://emshost:7222
5. Hawk Agent Reconnect to the EMS Server
Add following parameter into hawkagent_domainname.tra:
#reconnect
java.property.com.tibco.tibjms.reconnect.attempts=50,5000
The first value is the reconnect count, the second value is the interval between the reconnect.
6. Reset the password of TIBCO Domain
1. Create a new plain text file pw.txt and put one line in the file:
pw=#!your_new_password
2. Go to <tra_home>/<version>/bin and run obfuscate pw.txt.
3. Copy the obfuscated password in pw.txt after “#!” to the following four places:
(1) repo.securePassword in tibcoadmin_<domain>.tra under <admin_home>/domain/<domain>/bin;
(2) AUTH_<domain>.dat, assuming your admin user name is “admin”
<<<<<<<<<<<<<<<<<<
<dir name=”com.tibco.pof.authorization.User” lastModified=”1166119387448″ id=”-18″>
……………….
<string name=”mCaseSensitiveName” value=”admin”/>
<string name=”mName” value=”test”/>
<assoc name=”mCredentialValues”>
<string name=”__nullkey” value=”1″/>
<string name=”0″ value=”#!/k+XpdSNcXZ8Jn8pJLsCihxOEw0AR006:0:0″/>
…………………
>>>>>>>>>>>>>>>>>>;
(3) Credential in AdministrationDomain.properties under <tra_home>/domain/<domain>.
(4) Credential in AuthorizationDomain.properties under <tra_home>/domain/<domain>.
Please stop Admin domain before you do the above, restart Admin afterwards, then login with the new password.
7. Modify ADB Adapter triggers for Loop Detection
Enable Loop Detection configuration can prevent the ADB Adapter Publisher services publish the data which inserted or updated by ADB Adapter Subscriber services. This is very useful for some scenario. For example, data synchronization between databases, the data in anyone of the databases updated, other databases will receive the new data and update. To implement the Loop Detection, ADB Adapter adds an external data field ADB_SOURCE in the table and checks its value, if ADB_SOURCE value is ‘T’, means the data is inserted or updated by ADB Adapter, the data won’t be insert into publish table.
But a problem had been caused by this ADB_SOURCE. That is when user update date using the application, they don’t know an ADB_SOURCE field had been add by adapter, they even don’t know there are any ADB Adapter. So after they update a record of data which had been inserted or updated by ADB Adapter and its ADB_SOURCE is ‘T’. Because this update is did by user, so this data should be published. But the application didn’t update the ADB_SOURCE field and the value ‘T’ prevent the new data insert into publish table. Usually, deploy ADB Adapter is later than the development of the application, so this maybe a familiar problem and users don’t want to change the application.
To resolve this problem, we can modify the trigger that created by ADB Adapter. Following is the example (the bold font is the place where we need to modify; this modification is validated in Oracle):
CREATE OR REPLACE TRIGGER TRI_P_TEST_LOOP_TABLE_1 AFTER INSERT OR DELETE OR UPDATE ON TEST_LOOP_TABLE_1
FOR EACH ROW
DECLARE
updating_key_fields EXCEPTION;
BEGIN
–IF :NEW.ADB_SOURCE = ‘T’ THEN return;
–END IF;
IF INSERTING AND (:NEW.ADB_SOURCE <> ‘T’ OR :NEW.ADB_SOURCE IS NULL) THEN
INSERT INTO P_TEST_LOOP_TABLE_1 VALUES (
……
END IF;
IF UPDATING AND (NOT UPDATING(‘ADB_SOURCE’)) THEN
IF UPDATING(‘FIELD1′) THEN
RAISE updating_key_fields;
END IF;
INSERT INTO P_TEST_LOOP_TABLE_1 VALUES (
……
END IF;
IF DELETING THEN
INSERT INTO P_TEST_LOOP_TABLE_1 VALUES (
……
END IF;
EXCEPTION
WHEN updating_key_fields THEN
raise_application_error(-20300, ‘ActiveDB Error: cannot update key fields of source table.’);
END TRI_P_TEST_LOOP_TABLE_1;
8. ADB Adapter Error: Optional feature not implemented
When the ADB Adapter Publisher service started, following error maybe prompted (when you use ORACLE as your database):
Publication error. Publication service ADBPublisher with publication subject adb.LoopDetection encountered database error:
DBError: 5
ErrorCode: HYC00
ServerCode: 0
Message: [TIBCO][ODBC Oracle Wire Protocol driver]Optional feature not implemented.
When this error happens, the new data can’t be published by the publisher services. To resolve this problem, we should modify the ODBC DSN of the Adapter instance. Find the EnableTimestampWithTimeZone=0 in the odbc.ini file, set the value ‘1’. Save the file and restart the ADB Adapter.
9. ADB Adapter Start Error: Failed to load shared library, library name: adb55.dllDescription
Adapter on windows throws the “The ordinal 3823 could not be located in the dynamic link library LIBEAY32.dll” and then a pop up is seen with the following message
Lib name adb55.dll
Failed to load shared library, library name: adb55.dll
Cause
The error is due to the conflict that is occurring between the LIBEAY32.dll and SSLEAY32.dll that is used by TIBCO products like RV/JMS/HAWK and some NON TIBCO product.
TIBCO Rendezvous (RV) 7.2+, TIBCO Enterprise for JMS (JMS) 3.1.1+, and TIBCO Runtime Agent (TRA) 5.1.2+ use OpenSSL code (files LIBEAY32.dll and SSLEAY32.dll). There are other applications which use the above OpenSSL code too and hence, on some machines, LIBEAY32.dll and SSLEAY32.dll are already installed (by non TIBCO applications) in C:\Windows\system32.
When TIBCO Java applications are started, the JVM looks for a property called java.library.path that specifies native library paths. If java.library.path is not set explicitly, then the JVM sets the value of java.library.path to the environment variable PATH but prepend C:\Windows\System32 and other directories.
If the versions of LIBEAY32.dll and SSLEAY32.dll in C:\Windows\system32 are not compatible with TIBCO Rendezvous, then TIBCO applications may fail when trying to use TIBCO Rendezvous (or TIBCO JMS).
Resolution
Please Remove/Replace/Rename the two dlls LIBEAY32.dll and SSLEAY32.dll that are present in <Windows_HOME>\System32 with those present in TIBCO_RV_HOME\bin.
Note:
(1)If you have RV 8.1 installed in <TIBCO_HOME>/tibrv/8.1; please copy the latest files from ./tibrv/8.1/bin folder to .\<Windows_HOME>\System32 folder.
(2)Basically these files have to be replaced, with those in RV folder, in all the paths that are present in the %PATH% variable of the system.
For e.g: The files in <SDK_HOME>/bin folder should also be replaced with those in RV folder.
For training on TIBCO ESB mail us at [email protected]