-
Notifications
You must be signed in to change notification settings - Fork 210
Closed
Labels
Description
Add to HelloCommand a TreeMap field:
public class HelloCommand extends Command {
private static AtomicInteger counter = new AtomicInteger(0);
private String message;
private Map<String, Object> data;
public HelloCommand(String message) {
this.message = message;
this.data = new TreeMap<>();
data.put("message", message);
}
public HelloCommand() {} //necessary to provide
public static void reset() {
counter = new AtomicInteger(0);
}
public static int counter() {
return counter.get();
}
@Override
public void execute() {
// try {
// Thread.sleep(1000);
// } catch (InterruptedException ignore) {}
synchronized (counter){
counter.incrementAndGet();
}
}
public String getMessage() {
return message;
}
}Run the CommandSpec.
Result:
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Comparator java.util.TreeMap.comparator accessible: module java.base does not "opens java.util" to unnamed module @23ceabc1
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at com.thoughtworks.xstream.core.util.Fields.locate(Fields.java:40)
at com.thoughtworks.xstream.converters.collections.TreeMapConverter$Reflections.<clinit>(TreeMapConverter.java:135)
Expected result: tests are not failing.
The main problem is serializing models with xstream