Issues and Solutions - quality-manager/onboarding GitHub Wiki

Overview

Here we document issues that the team has encountered in the past and the solutions to those issues. Each issue should document the symptoms of the problem, steps on how to confirm that you are experiencing that issue, an explanation for what went wrong, steps for how to resolve it, and references to work items where this problem was previously encountered.

Service was not Registered

Symptoms

It'll be very obvious if you are experiencing this issue. You'll receive a message like "MyService was not registered" in the logs and in the Service Status Diagnostics section of QM's Application Administration page (qm/admin).

e.g. com.ibm.rqm.rtcclient.RtcClientFactory: CRJAZ1115I The "com.ibm.rqm.rtcclient.RtcClientFactory" service was not registered.

You'll find that any code that depends on this service will not work properly because it will fail on any call to getService(MyService.class). You'll also notice that this problem doesn't occur in your dev environment, only on servers installed with a CLM build.

How to Confirm

We can confirm by checking the JAR file on the server to see if it contains a plugin.xml file

  1. On your QM server, find the JAR file that contains the service in question
  2. Change the extension of that file from .jar to .zip
  3. View the contents of the JAR
  4. If there is no plugin.xml file at the top level of this JAR's directory tree, then you are experiencing this issue

What's Wrong?

The plugin.xml that is used by the OSGi framework to define services is missing. When the JARs were compiled by the build process, it was not included.

Fix It

  1. Find the bundle that contains the service in question in your dev environment
  2. Open the build.properties file for that bundle
  3. Add plugin.xml to the list of included files
  4. Save and deliver

Work Items