How to start an Impaired application in BusinessWorks and BusinessWorks Container Edition
Since the early days of BusinessWorks 6.X, applications using resources that cannot be properly initialized are considered to be impaired and cannot start.
Generally, this is because one of the Shared Resources used by an application cannot start without error, this can be for example a JMS connection resource that cannot connect to the target EMS server because it is unavailable, or an HTTP Connector resource that cannot initialize because the port it is using is already opened by another application.
This behavior allows to make sure an application start only in a consistent state but in some cases, it is useful to start an application even if some of its Components or Process Starters are not available (for debugging purpose or to allow running an application in a production environment even if some part of it are not active).
Since BusinessWorks 6.9.1 a property has been introduced to force an application to start even if it is impaired. The property name is:
bw.independent.component.startup
To enable applications to start even if they are impaired you then have to do the following:
. Go to the target appnode directory:
<TIBCO_HOME>/bw/6.X/domains/<DOMAIN_NAME>/appnodes/<APPSPACE_NAME>/<APPNODE_NAME>
. Edit the config.ini file to add the property and set it to true:
bw.independent.component.startup=true
. restart the appnode
Useful things to know
I tested this with a JMS Receive Message Process Starter and it is working fine:
. If the EMS server is down while the application is started the corresponding Components (or Process Starters) are disabled, and you can see this in the TEA or using the bwagent REST API:
. Then once the EMS server is restarted you can re-enable the JMS components in the TEA or using the bwagent REST API :
. And check the Component is now enabled:
I also tested with a Rendezvous Subscriber Process Starter and a Receive Email Process Starter and it is working fine.
I didn’t found a way to get an application to be in an Impaired state because of a problem with a File Poller Process Starter or a TCP Receiver Process Starter.
Limitations
I also tested this with a REST Binding Component using an HTTP Connector resource and unfortunately it is not working with both BusinessWorks 6.9.1 and BusinessWorks 6.10. I got also the same behavior for HTTP Receive Process starters. I reported this to TIBCO support.
Reference elements
Extract from the TIBCO Documentation:
TIBCO support knowledge base article on Impaired applications:
https://support.tibco.com/s/article/Tibco-KnowledgeArticle-Article-41342
Additional elements
You can also have a look to this article from my colleague Alexandre Vasquez:
https://medium.com/coderbyte/tibfaqs-how-to-solve-an-impaired-status-on-your-businessworks-application-326c23a3f624