Skip to content

Commit 2772bac

Browse files
committed
Register Parallel Database Query related elements for reflection
Although Quarkus doesn't include PDQ by default the DB2 JDBC driver still tries to access some PDQ-related elements. Relates to #41995
1 parent ec6bf3c commit 2772bac

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

extensions/jdbc/jdbc-db2/deployment/src/main/java/io/quarkus/jdbc/db2/deployment/JDBCDB2Processor.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.quarkus.deployment.builditem.nativeimage.JPMSExportBuildItem;
2828
import io.quarkus.deployment.builditem.nativeimage.NativeImageAllowIncompleteClasspathBuildItem;
2929
import io.quarkus.deployment.builditem.nativeimage.NativeImageConfigBuildItem;
30+
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
3031
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
3132
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
3233
import io.quarkus.jdbc.db2.runtime.DB2AgroalConnectionConfigurer;
@@ -66,7 +67,8 @@ void configureAgroalConnection(BuildProducer<AdditionalBeanBuildItem> additional
6667
}
6768

6869
@BuildStep
69-
void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
70+
void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
71+
BuildProducer<NativeImageResourceBuildItem> resource) {
7072
//Not strictly necessary when using Agroal, as it also registers
7173
//any JDBC driver being configured explicitly through its configuration.
7274
//We register it for the sake of people not using Agroal,
@@ -88,6 +90,12 @@ void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveCla
8890
T4Resources.class)
8991
.reason(getClass().getName() + " DB2 JDBC driver classes")
9092
.build());
93+
94+
reflectiveClass.produce(ReflectiveClassBuildItem.builder("com.ibm.pdq.cmx.client.DataSourceFactory")
95+
.reason(getClass().getName() + " accessed reflectively by DB2 JDBC driver")
96+
.build());
97+
98+
resource.produce(new NativeImageResourceBuildItem("pdq.properties"));
9199
}
92100

93101
@BuildStep

0 commit comments

Comments
 (0)