diff --git a/pom.xml b/pom.xml
index adcba97fe..0bb53abf4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,6 +95,12 @@
3.23.1-GA
true
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+ true
+
junit
diff --git a/pom4ide.xml b/pom4ide.xml
index fd84125ab..b48bb166e 100644
--- a/pom4ide.xml
+++ b/pom4ide.xml
@@ -95,6 +95,12 @@
3.23.1-GA
true
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+ true
+
junit
diff --git a/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java b/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java
index 8fe745fdc..3a30f5221 100644
--- a/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java
+++ b/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java
@@ -1,5 +1,7 @@
package com.alibaba.ttl;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -145,7 +147,7 @@ private static void doExecuteCallback(boolean isBefore) {
/**
* Debug only method!
*/
- static void dump(String title) {
+ static void dump(@Nullable String title) {
if (title != null && title.length() > 0) {
System.out.printf("Start TransmittableThreadLocal[%s] Dump...\n", title);
} else {
@@ -248,6 +250,7 @@ public static class Transmitter {
* @return the captured {@link TransmittableThreadLocal} values
* @since 2.3.0
*/
+ @Nonnull
public static Object capture() {
Map, Object> captured = new HashMap, Object>();
for (TransmittableThreadLocal> threadLocal : holder.get().keySet()) {
@@ -265,7 +268,8 @@ public static Object capture() {
* @see #capture()
* @since 2.3.0
*/
- public static Object replay(Object captured) {
+ @Nonnull
+ public static Object replay(@Nonnull Object captured) {
@SuppressWarnings("unchecked")
Map, Object> capturedMap = (Map, Object>) captured;
Map, Object> backup = new HashMap, Object>();
@@ -301,7 +305,7 @@ public static Object replay(Object captured) {
* @param backup the backup {@link TransmittableThreadLocal} values from {@link Transmitter#replay(Object)}
* @since 2.3.0
*/
- public static void restore(Object backup) {
+ public static void restore(@Nonnull Object backup) {
@SuppressWarnings("unchecked")
Map, Object> backupMap = (Map, Object>) backup;
// call afterExecute callback
@@ -324,7 +328,7 @@ public static void restore(Object backup) {
setTtlValuesTo(backupMap);
}
- private static void setTtlValuesTo(Map, Object> ttlValues) {
+ private static void setTtlValuesTo(@Nonnull Map, Object> ttlValues) {
for (Map.Entry, Object> entry : ttlValues.entrySet()) {
@SuppressWarnings("unchecked")
TransmittableThreadLocal