-/*! @page MSG_Java Java Binding
+/*! @page MSG_Java Java Bindings
@tableofcontents
~~~~{.sh}
$ javac -classpath .:path/to/simgrid.jar your/java/Code.java
-$ java -classpath .:path/to/simgrid.jar your.java.Code
+$ java -classpath .:path/to/simgrid.jar your.java.Code the/parameter/to/your/code
~~~~
For example:
~~~~{.sh}
-$ cd examples
-$ java -classpath .:../simgrid.jar basic/BasicTest platform.xml basic/basicDeployment.xml
+$ cd examples/java
+$ java -classpath ../../simgrid.jar:. .:../../simgrid.jar app.pingpong.Main ../platforms/platform.xml
~~~~
+Any SimGrid simulation (java or not) is usually constituted of several
+kind of actors or processes (classes extending @c Msg.Process) that
+are deployed over the hosts of the virtual platform. So, your code
+should declare these actors, plus a Main class in charge of deploying
+your actors on the platform. Please refer to the examples for details.
+
@subsection java_use_trouble Troubleshooting
Actually, these bindings are not only implemented in Java. They do use
Add these lines to your `~/.bashrc` file or equivalent to make these
settings permanent even after a reboot.
+** **pthread_create failed**
+
+You reached the amount of threads that can be run on your system. Try
+increasing the thread limits of your operating system.
+
+If you manage to get it working, you could also switch to the Java
+co-routines (see @ref bindings_java_coro_install). Unfortunately,
+nobody used them since a few years, so they may well be broken by now.
+
** **Other errors**
When using jMSG, your program can crash for 3 main reasons: