code: private RingbufferContainer<InternalEventJournalCacheEvent, Object> getRingbufferOrFail(ObjectNamespace namespace,
                                                                                              int partitionId) {
          RingbufferService ringbufferService = getRingbufferService();
          RingbufferContainer<InternalEventJournalCacheEvent, Object> container
                  = ringbufferService.getContainerOrNull(partitionId, namespace);
          if (container != null) {
              return container;
          }
  
          EventJournalConfig config = getEventJournalConfig(namespace);
          if (config == null) {
              throw new IllegalStateException(format(
                      "There is no event journal configured for cache %s or the journal is disabled",
                      namespace.getObjectName()));
          }
          return getOrCreateRingbufferContainer(namespace, partitionId, config);
      }
docs: Gets or creates a ringbuffer for an event journal or throws an exception if no
  event journal is configured. The caller should call
  {@link #hasEventJournal(ObjectNamespace)} before invoking this method to avoid getting
  the exception. This method can be used to get the ringbuffer on which future events
  will be added once the cache has been created.
  <p>
  NOTE: The cache config should have already been created in the cache service before
  invoking this method.
  
  @param namespace   the cache namespace, containing the full prefixed cache name
  @param partitionId the cache partition ID
  @return the cache partition event journal
  @throws CacheNotExistsException if the cache configuration was not found
  @throws IllegalStateException   if there is no event journal configured for this cache