I’m currently working with SailPoint IdentityIQ 8.4 and attempting to use the embedded ActiveMQ broker for internal messaging within the application. However, I’m encountering an error during startup that indicates the broker is not available to receive messages. Here’s a summary of my setup and the issues I’m facing:
Issue Summary
When I start IdentityIQ, it fails to connect to the embedded ActiveMQ broker and throws an error saying, “make sure the broker is available and ready to receive messages.”
I’ve verified that no other service is running on port 61616.
I don’t have an external ActiveMQ instance configured and would prefer to use the embedded broker for simplicity.
When I start a new installation, my first verification is establishing a successful connection using iiq console. That way you can eliminate any issues relating to url/port/passwords to your database. If that connection is successful, often times the app server will start up.
Thats the same way I always follow and always prefer to use the console. Console is working fine however this because of this accessHistory feature in sailpoint 8.4 I m ending up with errors.
If you can login successfully to the iiq console. You can issue some test commands to your embedded ActiveMQ.
./iiq console
> bus enable
System Property 'messageBusEnabled' set to 'true'
> bus test --queue test 1
*************************************
Message Count: 1
Queue: test
Phased: false
Dequeue Delay: 0 ms
Dequeue Timeout: 5000 ms
Enqueue Delay: 0 ms
messageBusEnabled: true
*************************************
Emptied 1 old messages from queue
Sent message 1: DummyMessage00000000, broker: tcp://localhost:61616
Sent message count : 1 out of 1
Received message 1 : DummyMessage00000000 from broker tcp://localhost:61616
***********************************************
Elapsed time: 1085 ms
Success: Received 1 out of expected 1
***********************************************
Was able to run the command bus test --queue test 1 and got the result as you posted. However after this again getting the same error unable to connect to ActiveMQ. Make sure the broker is available and ready to receive message
You mentioned that you weren’t able to start IIQ. You really should be able to start your instance without the embedded ActiveMQ enabled. You can disable the bus start up by going doing this in the console.
./iiq console
> bus disable
Afterwards, your server should be able to start. You technically don’t have to have the bus running to use 8.4, but you just won’t have Access History populated.
If that does work, perhaps you can check your iiq.properties file for this entry (it’s supposed to be 0.0.0.0 for the embedded):
# These settings are for the activemq broker. At this time this should remain
# set to type activemq. This is only needed for running an embedded message
# broker within IdentityIQ, and is ignored when the message broker is external
messageServiceFactory.type=activemq
activeMQMessageServiceManager.brokerUri=tcp://0.0.0.0:61616?transport.trace=true&transport.soTimeout=10000
activeMQMessageServiceManager.activemqLocker=org.apache.activemq.store.jdbc.LeaseDatabaseLocker
The other reference to the embedded server is a configuration object called MessageBusConfiguration. That should have an entry similar to:
Can you share your iiq.properties file
Also restart your server some times you will not get embedded active mq broker status by doing net stat -ano|grep 61616