Short description around RabbitMQ usage in Digizuite. Important is to mention that you only want to change the RabbitMQ configuration if the customer specifically asks for it.
...
If you wish to utilize other than localhost, it is important to create your own vhost with the RabbitCLI which is calculated based on the below. This is important because the services utilize this unique db name to connect to the correct vhost.
Wiki Markup |
---|
$uniqueDbName = $local:DamDatabaseRef.Substring($local:DamDatabaseRef.LastIndexOf('.') + 1);
$ContainsDam = $uniqueDbName.EndsWith("_dam", "CurrentCultureIgnoreCase")
if($ContainsDam) {
$uniqueDbName = $uniqueDbName.Substring(0, $uniqueDbName.Length - 4)
}
|
Furthermore, setting the right user privileges for that vhost is also crucial. As an examle, you would need to do the two following steps to create a vhost and set privileges with the RabbitMQ CLI:
rabbitmqctl.bat add_vhost $uniqueDbName
rabbitmqctl.bat set_permissions -p $uniqueDbName guest ".*" ".*" ".*"
Next step would then be to construct and provide your host connection string for rabbit to the Digizuite DAM Center and Digizuite Core Services
- A configurable rabbitmq connection string. Format is: host=localhost;username=guest;password=guest;virtualhost=uniqueDbName
- This must be set in two places
- DAM Center app settings in web.config.
<appSettings>
<add key="rabbitMqConnectionString" value="host=localhost;username=guest;password=guest;virtualhost=uniqueDbName" />
......
</appSettings> - Digizuite Core services appsettings.json (DC Path/DigizuiteCore/appsettings.json):
"RabbitMQ": {
"ConnectionString": "host=localhost;username=user;password=password;virtualhost=uniqueDbName"
}
- DAM Center app settings in web.config.
Troubleshooting
One thing to be aware of after the installation has been done is the connections in rabbit. Always make sure that you see the following connections in the management ui.
You want to see these two connections (if more as below it is also okay):
*.dam.core.subscriber
*.dam.core.webhost.subscriber
If you do not see these then you want to recycle the two highlighted:
If RabbitMQ is not running then please try to restart the service by running following commands in command prompt (in the library C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin) :
- rabbitmq-service.bat stop
- rabbitmq-service.bat install
- rabbitmq-plugins.bat enable rabbitmq_management
- rabbitmq-service.bat start