Minimal example(Same as #15 but using conn instead of keep).
import java.io.IOException;
import java.net.UnknownHostException;
import org.jspace.ActualField;
import org.jspace.RemoteSpace;
import org.jspace.SequentialSpace;
import org.jspace.SpaceRepository;
public class TestStarter {
private static boolean t1Started = false;
public static void main(String[] args) throws UnknownHostException, IOException {
final SpaceRepository rep = new SpaceRepository();
rep.addGate("tcp://localhost:1290/?conn");
final SequentialSpace space = new SequentialSpace();
rep.add("space", space);
final RemoteSpace remote = new RemoteSpace("tcp://localhost:1290/space?conn");
final Thread t1 = new Thread(() -> {
try {
t1Started = true;
System.out.println("Starting to get something");
remote.get(new ActualField("something"));
System.out.println("Got something");
} catch (InterruptedException e) {
e.printStackTrace(System.out);
}
});
final Thread t2 = new Thread(() -> {
System.out.println("Starting to put something");
remote.put("something");
System.out.println("Put something");
});
//first start the get
t1.start();
while (!t1Started) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {}
}
//then start the put
t2.start();
}
}
Expected output is:
Starting to get something
Starting to put something
Put something
Got something
But is only either
Starting to get something
Starting to put something
Or
Starting to get something
Starting to put something
Exception in thread "Thread-0" Put something
java.lang.NullPointerException
at org.jspace.RemoteSpace._get(RemoteSpace.java:104)
at org.jspace.RemoteSpace.get(RemoteSpace.java:83)
at starters.TestStarter.lambda$0(TestStarter.java:25) <-- the get command
at java.lang.Thread.run(Thread.java:745)
Maybe related to #15?
Minimal example(Same as #15 but using conn instead of keep).
Expected output is:
But is only either
Or