IAPJMS java log contains the error "IOSelectorThread - Exception while adding a controller: java.net.BindException: Address already in use"

IAPJMS java log contains the error "IOSelectorThread - Exception while adding a controller: java.net.BindException: Address already in use"

book

Article ID: KB0079704

calendar_today

Updated On:

Products Versions
TIBCO iProcess Engine (Oracle) 11.6.1

Description

The IAPJMS java log iapjms_java.log under SWDIR/logs contains the error:
    IOSelectorThread - Exception while adding a controller: java.net.BindException: Address already in use

Issue/Introduction

The IAPJMS java log iapjms_java.log under SWDIR/logs contains the error: "IOSelectorThread - Exception while adding a controller: java.net.BindException: Address already in use"

Environment

TIBCO iProcess Engine all versions and database types with the IAPJMS process enabled

Resolution

The error indicates that the port(s) configured for the IAPJMS process are already in use.
 
The IAPJMS ports are configured in iProcess using process attributes.
 
The current configured can be displayed using the iProcess commands:

    swadm show_all_attributes IAPJMS_PORTNO
    swadm show_all_attributes WQDJMS_PORTNO

 
The default ports are 9070 & 9075
 
If there is more than one iProcess Engine running on a server then each iProcess Engine must be  configured to use different ports for the IAPJMS process (if IAPJMS is enabled).
 
The resolution is to update the iProcess Engine to use different and free ports using the swadm utility.
 
e.g. The following can be used to configured IAPJMS to use the ports 9170 & 9175:

    swadm set_attribute 0 ALL 0 IAPJMS_PORTNO 9170
    swadm set_attribute 0 ALL 0 WQDJMS_PORTNO 9175

 
Check that the ports are free before reconfiguring using:

    netstat  -an | grep 9170
    netstat  -an | grep 9175

 
The iProcess Engine must be restarted after configuring the process attributes.

 

Additional Information

TIBCO iProcess Engine Administrator's Guide