We recently came across an issue while working with one of our xMatters clients, where the java client would receive an injection of data from Remedy resulting in an unknown blockage. This would result in the send_queue_size of the java client to increase up to a high number of injections that were not able to be processed. The workaround in this situation is to stop the java client, flush the queue and then restart it.
After a while, we began to collect bits of data that were being passed through to the java client from Remedy, which were causing said issue. After communicating back and forth with xMatters support, it was discovered that the issue was the special characters that were being passed in these sets of information from Remedy. After rummaging through the java client code for each domain, functions were found which handled each bit of data coming from Remedy. The following code snippet was added to the getValueFromXML and getParameter functions to process each bit of data that was received:
result = result.replaceAll( “[_:\’\”]”, “” );
Once the solution above was put in place, the special characters _ : ‘ “ were parsed out via regex and replaced with an empty string. We learned that if this replacement step is not taken, these special characters can interfere with the XML used to pass the information along.
If you experience any issues where the xMatters java client or integration agent is not processing events, these special characters, as well as the length of the data token being processed, would be a great place to start.
Interested in learning more about the xMatters / Remedy integration architecture, or seeing a demo of the xMatters solution? Call or click us today!