DBZ-8219 Fix JAXB xml parsing of Ehcache configuration

This commit is contained in:
Chris Cranford 2024-09-09 11:46:03 -04:00 committed by Chris Cranford
parent d38a01412f
commit 734a16233a
3 changed files with 23 additions and 19 deletions

View File

@ -92,15 +92,11 @@
<artifactId>ehcache</artifactId> <artifactId>ehcache</artifactId>
<version>${version.ehcache}</version> <version>${version.ehcache}</version>
</dependency> </dependency>
<!-- Ehcache JAXB implementation dependency -->
<dependency> <dependency>
<groupId>com.sun.xml.bind</groupId> <groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId> <artifactId>jaxb-runtime</artifactId>
<version>2.3.0</version> <version>${version.jaxb.implementation}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.1</version>
</dependency> </dependency>
<!-- Testing --> <!-- Testing -->
@ -198,9 +194,13 @@
<adapter.name>logminer</adapter.name> <adapter.name>logminer</adapter.name>
<log.mining.buffer.type.name>memory</log.mining.buffer.type.name> <log.mining.buffer.type.name>memory</log.mining.buffer.type.name>
<log.mining.read.only.mode>false</log.mining.read.only.mode> <log.mining.read.only.mode>false</log.mining.read.only.mode>
<version.ehcache>3.9.6</version.ehcache>
<version.oracle.server>19.3.0</version.oracle.server> <version.oracle.server>19.3.0</version.oracle.server>
<!-- EhCache Specific Versions -->
<version.ehcache>3.9.6</version.ehcache>
<!-- Must be aligned with the version.jaxb of the JAXB-API -->
<version.jaxb.implementation>2.3.1</version.jaxb.implementation>
<protobuf.output.directory>${project.basedir}/generated-sources</protobuf.output.directory> <protobuf.output.directory>${project.basedir}/generated-sources</protobuf.output.directory>
<!-- <!--

View File

@ -117,6 +117,10 @@ private CacheManager createCacheManager(OracleConnectorConfig connectorConfig) {
// Create the full XML configuration based on configuration template // Create the full XML configuration based on configuration template
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// Required for propagating namespace info
factory.setNamespaceAware(true);
final DocumentBuilder builder = factory.newDocumentBuilder(); final DocumentBuilder builder = factory.newDocumentBuilder();
final String xmlData = getConfigurationWithSubstitutions(ehcacheConfig); final String xmlData = getConfigurationWithSubstitutions(ehcacheConfig);

View File

@ -1,5 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<config xmlns='http://www.ehcache.org/v3'> <config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://www.ehcache.org/v3' xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd">
<default-serializers>
<serializer type="io.debezium.connector.oracle.logminer.processor.ehcache.EhcacheTransaction">
io.debezium.connector.oracle.logminer.processor.ehcache.serialization.EhcacheTransactionSerializer
</serializer>
<serializer type="io.debezium.connector.oracle.logminer.events.LogMinerEvent">
io.debezium.connector.oracle.logminer.processor.ehcache.serialization.LogMinerEventSerializer
</serializer>
</default-serializers>
<!-- <!--
Defines the ehcache global configuration Defines the ehcache global configuration
@ -43,13 +52,4 @@
${log.mining.buffer.ehcache.events.config} ${log.mining.buffer.ehcache.events.config}
</cache> </cache>
<default-serializers>
<serializer type="io.debezium.connector.oracle.logminer.processor.ehcache.EhcacheTransaction">
io.debezium.connector.oracle.logminer.processor.ehcache.serialization.EhcacheTransactionSerializer
</serializer>
<serializer type="io.debezium.connector.oracle.logminer.events.LogMinerEvent">
io.debezium.connector.oracle.logminer.processor.ehcache.serialization.LogMinerEventSerializer
</serializer>
</default-serializers>
</config> </config>