code: private void stopResourceAdapter() {
          if (resourceAdapter != null)
              try {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(this, tc, "stop", resourceAdapter);
                  ArrayList<ThreadContext> threadContext = startTask(raThreadContextDescriptor);
                  try {
                      beginContext(raMetaData);
                      try {
                          ClassLoader previousClassLoader = jcasu.beginContextClassLoader(raClassLoader);
                          try {
                              resourceAdapter.stop();
                          } finally {
                              if (raClassLoader != null) {
                                  jcasu.endContextClassLoader(raClassLoader, previousClassLoader);
                                  classLoadingSvc.destroyThreadContextClassLoader(raClassLoader);
                              }
                          }
                      } finally {
                          endContext(raMetaData);
                      }
                  } finally {
                      stopTask(raThreadContextDescriptor, threadContext);
                  }
  
                  // Cancel timers
                  for (Timer timer = timers.poll(); timer != null; timer = timers.poll()) {
                      timer.cancel();
                      timer.purge();
                  }
  
                  // Cancel/release work
                  workManager.stop();
              } catch (Throwable x) {
                  // auto FFDC
              } finally {
                  // decrement the reference count
                  BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
                  if (bundleContext != null) {
                      bundleContext.ungetService(contextSvcRef);
                  }
              }
      }
docs: Stop the resource adapter if it has started.