When configuring with Compass XML configuration to use a Coherence Datagrid as a CacheStore location, the property compass.engine.connection is set to the value
coherence://index_name:cache_name
When trying to open a connection to the cache in AbstractCoherenceDirectory::configure() the method findConnection is mean to return only the resource part of the URI like:
index_name:cache_name
It is currently returning
://index_name:cache_name
The reason is because the code in both implementations of the findConnection method return the connection string after removing only the protocol name itself
protected String findConnection(String connection) {
return connection.substring(PROTOCOL.length());
}
This should be modified to also remove the :// from the returned string in this fashion:
protected String findConnection(String connection) {
return connection.substring(PROTOCOL.length() + 3 );
}
DataGridCoherenceDirectoryStore.java
public static final String PROTOCOL = "coherence-dg://";
and
InvocableCoherenceDirectoryStore.java
public static final String PROTOCOL = "coherence://";