How to setJava properties for JMX monitoring at the BW service binding level without modifying individual application tra files for each service instance.

How to setJava properties for JMX monitoring at the BW service binding level without modifying individual application tra files for each service instance.

book

Article ID: KB0088312

calendar_today

Updated On:

Products Versions
TIBCO Administrator -
Not Applicable -

Description

Resolution:
Description:
============
How to set  Java properties for JMX monitoring at the BW service binding level without modifying individual application tra files for each service instance.

Environment:
=========
TIBCO Runtime Agent(TRA) 5.7.3 ,TIBCO ActiveMatrix BusinessWorks 5.9.x.

Resolution:
=======
This is a known issue before the release of TRA 5.7.3. Enhancement TRA-2209 was filed which has been fixed with TRA 5.7.3. Follow the steps provided below. Note: This solution requires a minimum TRA 5.7.3 installation.

1). In  the Hawkagent. tra file (found under <TRA_HOME>/Domain/<DomainName> add java.property.UNCHANGED_PROPERTY_NAMES=java.property,java.extended.properties.

2). Add the following Global Variables to the existing BW project in Designer and mark them only as Service settable.( i.e., select the checkbox for "Service" column in Edit Global Variable window in Designer).
=============================================
java.property.com.sun.management.jmxremote.authenticate = false
java.property.com.sun.management.jmxremote.ssl=false
java.property.com.sun.management.jmxremote=true
java.property.com.sun.management.jmxremote.port = 11111
==============================================

3). Create an ear and upload it to Admin Domain, Load balance the service with two different bindings on the same machine and deploy the application.

4). You have the following options to configure a unique JMX port for each service binding :
            
a). You can set  these properties under Admin GUI –->Application Management -->< Application Name> –-> Configuration --> Par –-> Binding Name –-> Advance Tab for each bindings you  get the option to edit the port.
                 Binding 1 –--> java.property.com.sun.management.jmxremote.port = 11111.  
                 Binding 2 ---> java.property.com.sun.management.jmxremote.port = 22222.

b). You can do an AppManage Export to get the configuration XML file. You can set the unique port value for each binding as follows:
---------------------------------------
<services>
<bw name="Process Archive.par">
<enabled>true</enabled>
<bindings>
<binding name="Process Archive">
=======
=======
=======
<NVPairs name="Runtime Variables">
<NameValuePair>
<name>java.property.com.sun.management.jmxremote.port</name>
<value>1111</value>
</NameValuePair>
</NVPairs>
</binding>
<binding name="Process Archive-1">
=======
=======
=======
<NVPairs name="Runtime Variables-1">
<NameValuePair>
<name>java.property.com.sun.management.jmxremote.port</name>
<value>2222</value>
</NameValuePair>
</NVPairs>
</binding>
</bindings>
</services>
---------------------------------------

5). After setting a unique port for service bindings, redeploy the application with Force options.

6). Check individual <AppName>-<BindingName>. tra files created under <TRA_HOME>\domain\<DOMAINNAME>\application\<AppName> .

The following properties should be set:

In Binding 1 :<AppName>-<ProcessArchive>. tra 
----------------------------------------------------------------------------------------------------
java.property.com.sun.management.jmxremote.authenticate = false
java.property.com.sun.management.jmxremote.ssl=false
java.property.com.sun.management.jmxremote=true
java.property.com.sun.management.jmxremote.port = 11111
----------------------------------------------------------------------------------------------------
In Binding 2 :<AppName>-<ProcessArchive-1>. tra 
----------------------------------------------------------------------------------------------------
java.property.com.sun.management.jmxremote.authenticate = false
java.property.com.sun.management.jmxremote.ssl=false
java.property.com.sun.management.jmxremote=true
java.property.com.sun.management.jmxremote.port = 22222
----------------------------------------------------------------------------------------------------

7). Restart the BW Service Instance and monitor each BW Engine using JConsole.

*NOTE: This solution applies for any Java properties you need to set at the BW service binding level.

Issue/Introduction

How to setJava properties for JMX monitoring at the BW service binding level without modifying individual application tra files for each service instance.