We are currently using oracle service bus as an integration platform. We are conducting a disaster recovery exercise for on of the applications (A) integrated to OSB, but the OSB is always connecting to the primary node of the application A though the DNS at application A is pointing to the secondary node.
We believe this is happening because OSB is caching the IP address of the application A (though it is using DNS) and keeps connecting to the same server even if the primary traffic is diverted to the secondary node.
Can someone please let us know if there is a way we can clear the cache of the business service (used to connect to the application A) without restarting the servers?
The above parameters mean that the JVM will cache the name resolution for 2 minutes in case of success and for 10 seconds in case of a failure.
For testing purposes, you can reduce the ttl from 120 seconds, but when in production make sure that this value is not too low.
If you follow the above, you don't have to restart anything and you don't have to write any script. The IP address is going to be updated as long as the DNS server is being updated correctly (you can easily test by pinging the host name)