diff --git a/build.gradle b/build.gradle index db6f192b40..38860c6d22 100644 --- a/build.gradle +++ b/build.gradle @@ -453,7 +453,7 @@ allprojects { substitute module('commons-logging:commons-logging') with module("org.slf4j:jcl-over-slf4j:$slf4j_version") // Remove any transitive dependency on Logback (e.g. Liquibase 3.6 introduces this dependency) - substitute module('ch.qos.logback:logback-classic') with module("org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version") + substitute module('ch.qos.logback:logback-classic') with module("org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version") // Netty-All is an uber-jar which contains every Netty module. // Exclude it to force us to use the individual Netty modules instead. diff --git a/constants.properties b/constants.properties index d3c4f57087..6dc1358215 100644 --- a/constants.properties +++ b/constants.properties @@ -45,7 +45,7 @@ commonsTextVersion=1.10.0 # We must configure it manually to use the latest capsule version. capsuleVersion=1.0.4_r3 asmVersion=9.5 -artemisVersion=2.29.0 +artemisVersion=2.32.0 # TODO Upgrade Jackson only when corda is using kotlin 1.3.10 jacksonVersion=2.13.5 jacksonKotlinVersion=2.9.7 @@ -53,8 +53,8 @@ jettyVersion=9.4.53.v20231009 jerseyVersion=2.25 servletVersion=4.0.1 assertjVersion=3.12.2 -slf4JVersion=1.7.30 -log4JVersion=2.23.0 +slf4JVersion=2.0.12 +log4JVersion=2.23.1 okhttpVersion=4.11.0 nettyVersion=4.1.77.Final fileuploadVersion=1.4 diff --git a/experimental/blobwriter/build.gradle b/experimental/blobwriter/build.gradle index ca13935423..a94c466085 100644 --- a/experimental/blobwriter/build.gradle +++ b/experimental/blobwriter/build.gradle @@ -10,7 +10,7 @@ dependencies { implementation project(':serialization') implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" } configurations.implementation.canBeResolved = true diff --git a/experimental/netparams/build.gradle b/experimental/netparams/build.gradle index 20a2836371..f16ea07cb6 100644 --- a/experimental/netparams/build.gradle +++ b/experimental/netparams/build.gradle @@ -9,7 +9,7 @@ dependencies { implementation project(':tools:cliutils') implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "com.jcabi:jcabi-manifests:$jcabi_manifests_version" implementation "com.typesafe:config:$typesafe_config_version" implementation "info.picocli:picocli:$picocli_version" diff --git a/experimental/nodeinfo/build.gradle b/experimental/nodeinfo/build.gradle index 387c5b9ad0..75e5439775 100644 --- a/experimental/nodeinfo/build.gradle +++ b/experimental/nodeinfo/build.gradle @@ -9,7 +9,7 @@ dependencies { implementation project(':tools:cliutils') implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "com.jcabi:jcabi-manifests:$jcabi_manifests_version" implementation "info.picocli:picocli:$picocli_version" } diff --git a/node-api/build.gradle b/node-api/build.gradle index 9c9c44c878..9a88cbac1b 100644 --- a/node-api/build.gradle +++ b/node-api/build.gradle @@ -58,6 +58,7 @@ dependencies { implementation "javax.persistence:javax.persistence-api:2.2" implementation "org.hibernate:hibernate-core:$hibernate_version" implementation "co.paralleluniverse:quasar-osgi-annotations:$quasar_version" + implementation "com.google.guava:guava:$guava_version" runtimeOnly 'com.mattbertolini:liquibase-slf4j:2.0.0' diff --git a/node/build.gradle b/node/build.gradle index f6ddc1b088..d5b193ee9b 100644 --- a/node/build.gradle +++ b/node/build.gradle @@ -112,7 +112,7 @@ dependencies { implementation project(':confidential-identities') implementation "io.opentelemetry:opentelemetry-api:${open_telemetry_version}" // Log4J: logging framework (with SLF4J bindings) - implementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:${log4j_version}" implementation "org.apache.logging.log4j:log4j-web:${log4j_version}" implementation "org.slf4j:jul-to-slf4j:$slf4j_version" implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" diff --git a/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt b/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt index 8b9898e5a5..25938e6fb1 100644 --- a/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt +++ b/node/src/main/kotlin/net/corda/node/utilities/AppendOnlyPersistentMap.kt @@ -1,7 +1,6 @@ package net.corda.node.utilities import com.github.benmanes.caffeine.cache.LoadingCache -import net.corda.core.crypto.SecureHash import net.corda.core.internal.NamedCacheFactory import net.corda.core.utilities.contextLogger import net.corda.nodeapi.internal.persistence.DatabaseTransaction @@ -248,7 +247,7 @@ abstract class AppendOnlyPersistentMapBase<K : Any, V, E, out EK>( cache.invalidateAll() } - fun clear(id: SecureHash) = cache.invalidate(id) + fun clear(id: K) = cache.invalidate(id) // Helpers to know if transaction(s) are currently writing the given key. private fun weAreWriting(key: K): Boolean = pendingKeys[key]?.transactions?.contains(contextTransaction) ?: false diff --git a/samples/attachment-demo/build.gradle b/samples/attachment-demo/build.gradle index e3106311e9..f476cce723 100644 --- a/samples/attachment-demo/build.gradle +++ b/samples/attachment-demo/build.gradle @@ -54,7 +54,7 @@ dependencies { testImplementation(project(':node-driver')) { // We already have a SLF4J implementation on our runtime classpath, // and we don't need another one. - exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' + exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl' } testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}" diff --git a/samples/irs-demo/web/build.gradle b/samples/irs-demo/web/build.gradle index 78de567a52..89d2fa8f6e 100644 --- a/samples/irs-demo/web/build.gradle +++ b/samples/irs-demo/web/build.gradle @@ -12,7 +12,7 @@ group = "${parent.group}.irs-demo" dependencyManagement { dependencies { - dependency "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + dependency "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" dependency "org.apache.logging.log4j:log4j-core:$log4j_version" dependency "org.apache.logging.log4j:log4j-api:$log4j_version" } diff --git a/samples/trader-demo/build.gradle b/samples/trader-demo/build.gradle index 9671e605f2..30554f4184 100644 --- a/samples/trader-demo/build.gradle +++ b/samples/trader-demo/build.gradle @@ -56,7 +56,7 @@ dependencies { testImplementation(project(':node-driver')) { // We already have a SLF4J implementation on our runtime classpath, // and we don't need another one. - exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' + exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl' } testImplementation "io.reactivex:rxjava:$rxjava_version" diff --git a/testing/test-db/build.gradle b/testing/test-db/build.gradle index 98d33ca8c1..4b026fed4f 100644 --- a/testing/test-db/build.gradle +++ b/testing/test-db/build.gradle @@ -9,7 +9,7 @@ dependencies { testImplementation "org.assertj:assertj-core:$assertj_version" testImplementation "org.slf4j:slf4j-api:$slf4j_version" - testRuntimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + testRuntimeOnly "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" } jar { diff --git a/testing/testserver/build.gradle b/testing/testserver/build.gradle index dad5d1832c..f8957799a1 100644 --- a/testing/testserver/build.gradle +++ b/testing/testserver/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation "commons-fileupload:commons-fileupload:$fileupload_version" // Log4J: logging framework (with SLF4J bindings) - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "org.apache.logging.log4j:log4j-core:$log4j_version" // JOpt: for command line flags. diff --git a/tools/blobinspector/build.gradle b/tools/blobinspector/build.gradle index a28cf20f6d..07a9eaea4c 100644 --- a/tools/blobinspector/build.gradle +++ b/tools/blobinspector/build.gradle @@ -9,7 +9,7 @@ dependencies { implementation project(":common-logging") implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "com.jcabi:jcabi-manifests:$jcabi_manifests_version" implementation "com.fasterxml.jackson.core:jackson-databind:$jackson_version" implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$jackson_version" diff --git a/tools/bootstrapper/build.gradle b/tools/bootstrapper/build.gradle index 14249ed4b2..ba25915546 100644 --- a/tools/bootstrapper/build.gradle +++ b/tools/bootstrapper/build.gradle @@ -11,12 +11,12 @@ dependencies { implementation project(':common-configuration-parsing') implementation project(':common-validation') - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "com.typesafe:config:$typesafe_config_version" implementation "info.picocli:picocli:$picocli_version" testImplementation(project(':test-utils')) { - exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' + exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl' } testImplementation(project(':core-test-utils')) diff --git a/tools/demobench/build.gradle b/tools/demobench/build.gradle index c898246854..446993f7c2 100644 --- a/tools/demobench/build.gradle +++ b/tools/demobench/build.gradle @@ -72,7 +72,7 @@ dependencies { implementation "org.slf4j:log4j-over-slf4j:$slf4j_version" implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" implementation "org.apache.logging.log4j:log4j-core:$log4j_version" implementation "com.typesafe:config:$typesafe_config_version" diff --git a/tools/error-tool/build.gradle b/tools/error-tool/build.gradle index 517c07602b..7d886bcafa 100644 --- a/tools/error-tool/build.gradle +++ b/tools/error-tool/build.gradle @@ -5,7 +5,7 @@ dependencies { implementation project(":common-logging") implementation project(":tools:cliutils") implementation "info.picocli:picocli:$picocli_version" - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" testImplementation "junit:junit:$junit_version" testImplementation "org.assertj:assertj-core:$assertj_version" diff --git a/tools/explorer/build.gradle b/tools/explorer/build.gradle index f0bbc84f06..835325c1e3 100644 --- a/tools/explorer/build.gradle +++ b/tools/explorer/build.gradle @@ -39,7 +39,7 @@ dependencies { implementation project(':common-logging') // Log4J: logging framework (with SLF4J bindings) - implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" // Capsule is a library for building independently executable fat JARs. // We only need this dependency to implementation our Caplet against. diff --git a/verifier/build.gradle b/verifier/build.gradle index b34f2de21f..74e9451c66 100644 --- a/verifier/build.gradle +++ b/verifier/build.gradle @@ -14,5 +14,5 @@ dependencies { implementation "com.github.ben-manes.caffeine:caffeine:$caffeine_version" implementation "org.slf4j:jul-to-slf4j:$slf4j_version" - runtimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" + runtimeOnly "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version" }