Disabling HTTP methods in TIBCO Administrator Tomcat

Title: Disabling HTTP methods in Administrator Tomcat.
Description: To restrict the response to specific HTTP Methods such as OPTIONS, PUT, DELETE, CONNECT and TRACE, Tomcat can be configured to not respond to any of these HTTP Methods.
Environment: All  Linux  Windows
Resolution: This can be configured at the instance level by inserting a <security-constraint> element directly under the <web-app> element in the installation’s web.xml file located at: [tomcatinstallation]/conf/web.xml

Below is the added configuration.

< security-constraint>
< web-resource-collection>
< web-resource-name>restricted methods</web-resource-name>
< url-pattern>/*</url-pattern>
< http-method>TRACE</http-method>
< http-method>PUT</http-method>
< http-method>OPTIONS</http-method>
< http-method>DELETE</http-method>
< /web-resource-collection>
< auth-constraint />
< /security-constraint>

The configuration above will disable the HTTP Methods TRACE, PUT, OPTIONS or DELETE.  Specificly for TRACE, open the Tibco_home/administrator/domain<domain_name>/tomcat/conf/server.xml and set the allowTrace=”false” in the HTTP connector string used by the admin server. After this attribute is set, restart  admin server.


“BW-EXT-LOG-100000 All threads (75) are currently busy, waiting. Increase maxThreads (75) or check the servlet status”

Title: Why Do I get “BW-EXT-LOG-100000 All threads (75) are currently busy, waiting. Increase maxThreads (75) or check the servlet status” error?

Environment: Product: TIBCO BusinessWorks
OS: Any

Resolution: The error you got indicates that BW has reached the maximum number of threads available for incoming HTTP requests.
To solve your problem, you can modify the following BW property to specify higher value:

This property specifies the minimum number of threads available for incoming HTTP requests. The HTTP server creates the number of threads specified by this parameter when it starts up. The default minimum number of threads is 10.

This property specifies the maximum number of threads available for incoming HTTP requests. The HTTP server will not create more than the number of threads specified by this parameter. The default maximum number of threads is 75.

You can get more details about these properties in TIBCO ActiveMatrix BusinessWorks? Palette Reference — > Chapter 6 HTTP Palette : HTTP Connection –> Custom Properties for the HTTP Palette.

Keywords: BW HTTP Threads request minProcessors

[ERROR]-[Administrator]-Installed Software Not Available or disabled or uninstalled under “Installed Software” Tab on the Administrator GUI.


Product: TIBCO Administrator
Version: 5.X.X
OS: Redhat Enterprise Linux , Microsoft Windows

On installing a TIBCO Software it is not available or it is disabled or it is uninstalled on the Administrator GUI under “Installed Software” Tab.
TIBCO Administrator 5.x.x
TIBCO Runtime Agent 5.x.x
OS : All

The installed software is not available or disabled or uninstalled under “Installed Software”. This would prevent applications from being deployed in the domain on a particular machine.

1). The TIBCO software is not installed properly. Check the installation logs for any error which may have occured during installation.

2). Lock files could be preventing the domain’s hawkagent from detecting the installed software.

3). Lock files which could cause updating the vpd.properties.tibco.<machine-name> file during installation. This means that the software installation was not complete. Look for exceptions in the installation logs.

Scenario 1:

1). Look for “*lck” and “*lock” files under the <TIBCO_HOME> dir or <user home> dir .

2). Look for files named .installregistrylock, .installregistrylck and .installerregistrysync under the <TIBCO_HOME> dir or <user home> dir .

3). If you find any of the above files then stop TIBCO Admin and Hawk, and kill all rvd and tibhawkhma processes on all the nodes.

4). Remove all the above files from <TIBCO_HOME> dir and <user home> dir .

5). Start TIBCO Administrator and Hawk and verify if the issue is resolved.

Scenario 2:

1). Verify the software installation by using the following commands.
– java -cp <tibco-home>\tra\<version>\lib\install\TIBCOInstallerUtility.jar com.tibco.installer.util.TIBCOInstallerUtil <tibco-home> -productinfo > test_prodInfo_install
– java -cp <tibco-home>\tra\<version>\lib\install\TIBCOInstallerUtility.jar com.tibco.installer.util.TIBCOInstallerUtil <tibco-home> -deploymentInfo > test_deployInfo_install
– Open the test_prodInfo_install and test_deployInfo_install files and search and verify if it can detect the missing software.

2). Verify if the domain’s hawkagent could detect the installed software by the following steps.

– Kill the domain’s hawkagent and hawkhma on the machine on which the TIBCO Software is installed.

– Delete/Backup the tsm.log file under <tibco-home>/tra/domain/<domain-name>/logs folder.

– Set ” -tsm_traceLevel” param to -1 in the hawkagent.cfg file under <Tibco-Home>\tra\domain\<Domain_Name> and restart the hawk agent.

– Open the fresh tsm.log file and search for the “<TIBCOProducts>” XML tag and check if the concerned product is present within the <TIBCOProducts> XML tag.

If the product is detected in all the above 3 files (test_prodInfo_install, test_deployInfo_install and tsm.log) then it maybe scenario 3,4 or 5. Follow the steps in scenario 3,4 or 5 to resolve the issue.

Scenario 3:

1). Check if a corrupted plugin has been uploaded. This could prevent the domain’s hawkagent from registering the installed software in the domain’s repository.

2). On the Administrator GUI, All Service Instance > Administrator Instance > plugin tab, select the plugin for the concerned software and remove it.

3). Check the Installed software tab to see if the page is updated with the missing software.

4). Try restarting TIBCO Administrator, Hawk and verify if the issue has been resolved.

Scenario 4:

1). Follow the steps in Scenario 2 and if it is not detected in any of the files then follow these steps and see if it resolves the issue.

2). Check the tsm.log file and search for “Arg: logfile” string and verify the full path of the vpd.properties.tibco.<machine-name> file.

3). It could be a configuration issue for which the domain’s hawkagent could be reading the wrong vpd.properties.tibco.<machine-name> file.

4). Configuration issues such as the system’s DNS server has 2 entries of the machine-name (one all caps and one without any caps) for the machine’s IP-Address which can cause the issue.

Scenario 5 :

1). As per Scenario 2 if the software is listed in the test_prodInfo_install and test_deployInfo_install files and not in the tsm.log file then check if a system level variable(TIBCO_HOME) is set and if it is set to a wrong TIBCO_HOME.

Try the command : echo $TIBCO_HOME to verify if a system level variable TIBCO_HOME is set or not and if set it should point to the correct TIBCO_HOME.

If a system Level variable : TIBCO_HOME is set then the domain’s hawkagent will use the system variable’s value of TIBCO_HOME instead of the value present in the hawkagent_<domain-name>.tra file.

2). If you are using a script to start the domain’s hawkagent then check the script if you are setting a system level variable : TIBCO_HOME as a part of the script.

Scenario 6:

1). Example : SAP Adapter have additional sub components such as R3.

2). Under installed software SAP could be visible but while deploying an application which uses only the R3 component, the Administrator reports that the R3 component is not available on the machine.

3). This happens when an incomplete upload of the software takes place because of an inconsistent communication issue when the domain’s hawkagent is started.

4). The main software is uploaded and not the sub components so even multiple restarts of the domain’s hawkagent does not resolve the issue.

5). Follow these steps in this scenario.

– Stop the domain’s hawkagent and the hawkhma on the machine.

– Rename the _installInfo folder to _installInfo_bk under <tibco-home>.

– Rename the vpd.properties.tibco.<machine-name> file to vpd.properties.tibco.<machine-name>.bk

– Restart the domain’s hawkagent. This should clear the main and the sub-components of the installed software from the repository.

– Rename _installInfo folder and the vpd.properties.tibco.<machine-name> file back to the original name.

– Restart the domain’s hawkagent and if there are no communication issues then this should resolve the issue.

Scenario 7 :

If you see the following symptoms then refer to solution SOL1-EEPVOP and check if it resolves the issue.

Installed software does not show in the Administrator GUI or changed to “Uninstalled”.

After set “-tsm_traceLevel” to -1 in hawkagent.cfg and restart the Hawk agent, it can be seen that the Hawk agent does detect all installed components in the tsm.log, but there is an error like the following:

<——– tsm.log ——-
2013 Feb 07 09:27:35:031 GMT 11 tsm Error [] [TRA-000000] Can not register software because can not find machine oncillad in the domain.

Scenario 8 :

After upgrading the Administrator version, latest version does not reflect in the Administrator GUI .Where as other products sync up fine except for the Administrator.

Most probably root cause of this Issue is due to the incorrect Administrator domain path in the DomainHomes.Properties file.

After setting “-tsm_traceLevel” to -1 in hawkagent.cfg and restart the Hawk agent, the below debug message is logged in the tsm.log

2016 Jan 26 10:46:32:550 GMT -08:00 tsm Debug [] [TRA-000000] === upgradeTIBCOAdminServer(): D:/TIBCO/administrator/domain/TIBCO_QA/TIBCO_QA/bin/tibcoadmin_TIBCO_QA.tra doesn’t exist

If the above scenarios/steps are not helpful open a ticket with TIBCO Support.

[ERROR]-[ADMINISTRATOR]-Administrator reports the following error when clicking on “All Service Instances” : java.lang.NullPointerException at com.tibco.uac.monitor.server.Service ContainerBindingMonitorImpl.(ServiceContainerBinding MonitorImpl.java:47)

Description :-

dministrator reports the following error when clicking on “All Service Instances” :

at com.tibco.uac.monitor.server.ServiceContainerBindingMonitorImpl.(ServiceContainerBindingMonitorImpl.java:47)
at com.tibco.uac.monitor.server.MonitorServer.getServiceContainerBindingMonitor(MonitorServer.java:746)
at com.tibco.administrator.consoles.containers.ContainersCollectionPane$10.getRow(ContainersCollectionPane.java:393)
at com.tibco.wfc.tableview.EntityCollectionTableModel.clearFilter(EntityCollectionTableModel.java:76)
at com.tibco.wfc.tableview.EntityCollectionTableModel.showAll(EntityCollectionTableModel.java:65)
at com.tibco.wfc.tableview.EntityCollectionTableModel.(EntityCollectionTableModel.java:34)
at com.tibco.wfc.tableview.RefreshableEntityCollectionTableModel.(RefreshableEntityCollectionTableModel.java:31)
at com.tibco.administrator.consoles.containers.ContainersCollectionPane.aW(ContainersCollectionPane.java:470)
at com.tibco.administrator.consoles.containers.ContainersCollectionPane.(ContainersCollectionPane.java:74)
at com.tibco.administrator.consoles.containers.ContainersConsolePane.createEntityListPane(ContainersConsolePane.java:19)
at com.tibco.administrator.ConsoleContentPane.showEntityList(ConsoleContentPane.java:33)
at com.tibco.administrator.consoles.containers.ContainersConsolePane.(ContainersConsolePane.java:14)
at com.tibco.administrator.consoles.containers.AllContainersConsole.createConsoleContentPane(AllContainersConsole.java:66)
at com.tibco.administrator.AbstractConsole.getConsolePane(AbstractConsole.java:88)
at com.tibco.administrator.ConsoleFrame.setConsole(ConsoleFrame.java:27)
at com.tibco.administrator.ApplicationFrame$ApplicationFrameset$ConsoleFrameset.showConsole(ApplicationFrame.java:174)
at com.tibco.administrator.ConsoleSelectorPane.setCurrentConsole(ConsoleSelectorPane.java:136)
at com.tibco.administrator.ConsoleSelectorPane$6.execute(ConsoleSelectorPane.java:254)
at com.tibco.wfc.undo.UndoManager$CommandList.a(UndoManager.java:28)
at com.tibco.wfc.undo.UndoManager$CommandList.access$200(UndoManager.java:11)
at com.tibco.wfc.undo.UndoManager.execute(UndoManager.java:95)
at com.tibco.administrator.ConsoleSelectorPane.onChangeConsole(ConsoleSelectorPane.java:266)
at com.tibco.administrator.ConsoleSelectorPane$4.valueChanged(ConsoleSelectorPane.java:102)
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
at javax.swing.tree.DefaultTreeSelectionModel.addSelectionPaths(DefaultTreeSelectionModel.java:327)
at javax.swing.tree.DefaultTreeSelectionModel.addSelectionPath(DefaultTreeSelectionModel.java:303)
at com.tibco.administrator.ConsoleSelectorPane$ConsoleTreeSelectionModel.addSelectionPath(ConsoleSelectorPane.java:222)
at com.tibco.wfc.TreeView.selectPath(TreeView.java:220)
at com.tibco.wfc.TreeView.processCommand(TreeView.java:637)
at com.tibco.wfc.AbstractFrame.processCommand(AbstractFrame.java:115)
at com.tibco.wfc.FrameManager.a(FrameManager.java:254)
at com.tibco.wfc.FrameManager.service(FrameManager.java:142)
at com.tibco.administrator.AdministratorServlet.service(AdministratorServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:420)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:544)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)


Product: TIBCO Administrator, TRA
Version: 5.XX.XX
OS: Redhat Enterprise Linux 5.X/6.X, Windows 2003/2008/2012/R2, AIX 5.3


Administrator reports the following error when clicking on “All Service Instances” :

at com.tibco.uac.monitor.server.ServiceContainerBindingMonitorImpl.(ServiceContainerBindingMonitorImpl.java:47)


There are two possible reasons that cause the error.

1). One or several corrupt applications which may be caused during deployment.
2). One or more corrupt EMS plugins are installed.


For corrupt application/s, we suggest checking every application in the domain individually.

Click their service instances, one by one, to find the one that produces the reported error. Undeploy this application and redeploy it.

If necessary, delete the application altogether before redeploying. For a corrupt EMS plugin, updating (or deleting and re-adding) the plugin should resolve this issue.

[ERROR]-[Enterprise Message Service]-What is the meaning of the following error: “ERROR: Slow clock tick xxx, delayed messaging and timeouts may occur”?


The error message “Slow clock tick xx, delayed messaging and timeouts may occur” was added in EMS 5.1.4 for defect #1-A35PT9 -The server can disconnect clients or other servers if it gets very busy such that it does not service incoming heartbeats within the server_timeout_client_connection or server_timeout_server_connection period.

The number xx indicates the delay when the timer thread is behind the current time, indicating that the EMS server has become busy.

The value of xx is the time difference in seconds.

This is an Informational message and is not detrimental to EMS, rather it is an indication that the EMS server is busy and delayed messaging and timeouts may occur.

[ERROR]-[TIBCO BusinessWorksProcessMonitor]- Error While Configuration (EC1 – java.lang.NoClassDefFoundError: com/tibco/processmonitor/client/run)

Hi Guys,

Whenever you get this kind of error in TIBCO BWPM Client configuration

EC1 – java.lang.NoClassDefFoundError: com/tibco/processmonitor/client/run

Then the following can be the reasons :-

1. bwpm.jar file missing from <bw_home>/<ver>/<lib>

2. bwpm.jar corrupted

Solution :-

Get the bwpm.jar file copied to the following directory




Fault Tolerance Parameters in “tibemsd.conf ” file


ft_active = URL
Specifies the URL of the active server.
If this server can connect to the active server, it will act as a backup server.
If this server cannot connect to the active server, it will become the active server.
ft_heartbeat = seconds
Specifies the interval (in seconds) the active server is to send a heartbeat signal to the backup server to indicate that it is still operating. Default is 3 seconds.
ft_activation = seconds
Activation interval (maximum length of time between heartbeat signals) which indicates that active server has failed. Set in seconds: default is 10.
This interval should be set to at least twice the heartbeat interval.
For example: ft_activation = 60
Note: The ft_activation parameter is only used by the backup server after a fault-tolerant switchover.
The active server uses the server_timeout_server_connection to detect a failed server.
ft_reconnect_timeout = seconds
The amount of time (in seconds) that a backup server waits for clients to reconnect (after it assumes the role of primary server in a failover situation).
If a client does not reconnect within this time period, the server removes its state from the shared state files.
The ft_reconnect_timeout time starts once the server has fully recovered the shared state, so this value does not account for the time it takes to recover the store files.
The default value of this parameter is 60.