Skip to content

Commit c1854a2

Browse files
garyrussellartembilan
authored andcommitted
GH-1858: Fix Regression in JsonDeserializer
Resolves #1858 Do not add mapping class packages if trusted packages is already all (`*`). **cherry-pick to 2.7.x**
1 parent cd7607b commit c1854a2

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

spring-kafka/src/main/java/org/springframework/kafka/support/converter/DefaultJackson2JavaTypeMapper.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ public void setTypePrecedence(TypePrecedence typePrecedence) {
7878
*/
7979
@Override
8080
public void addTrustedPackages(String... packagesToTrust) {
81+
if (this.trustedPackages.size() == 0) {
82+
return;
83+
}
8184
if (packagesToTrust != null) {
8285
for (String trusted : packagesToTrust) {
8386
if ("*".equals(trusted)) {

spring-kafka/src/test/java/org/springframework/kafka/support/serializer/JsonSerializationTests.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,17 @@ void testTrustMappingPackages() {
304304
.contains(Foo.class.getPackageName() + ".*");
305305
}
306306

307+
@SuppressWarnings("unchecked")
308+
@Test
309+
void testTrustMappingPackagesWithAll() {
310+
JsonDeserializer<Object> deser = new JsonDeserializer<>();
311+
Map<String, Object> props = Map.of(
312+
JsonDeserializer.TRUSTED_PACKAGES, "*",
313+
JsonDeserializer.TYPE_MAPPINGS, "foo:" + Foo.class.getName());
314+
deser.configure(props, false);
315+
assertThat(KafkaTestUtils.getPropertyValue(deser, "typeMapper.trustedPackages", Set.class)).isEmpty();
316+
}
317+
307318
@SuppressWarnings("unchecked")
308319
@Test
309320
void testTrustMappingPackagesMapper() {

0 commit comments

Comments
 (0)