|
![]() |
ProActive is made available for download under a LGPL license. ProActive requires the JDK 1.4 or later to be installed on your computer. Please note that ProActive will NOT run with any version prior to 1.4 since some features introduced in JDK 1.4 are essential.
JAVA_HOME
variable to the
Java distribution you want to useProActive/scripts/unix
or ProActive/scripts/windows
CLASSPATH
the following
jar files ProActive/ProActive.jar, ProActive/lib/asm.jar, ProActive/lib/log4j-core.jar, ProActive/lib/xercesImpl.jar, ProActive/lib/fractal.jar, ProActive/lib/bouncycastle.jar
Below are described the different steps in more details.
You can download the archive file (a standard zip file) containing ProActive from the download section of the ProActive home page. You will be asked to accept the licence agreement and provide a few personal details including your email address. You will then within a few minutes receive an email.
Unzip the archive using your favorite ZIP program, such as Winzip under Windows or the unzip command-line utility on most Unix systems. Unzipping the archive creates a ProActive directory and all the files contained in the archive go into this directory and its subdirectories.
Here is a quick overview of the directory structure of the archive:
Directory or File | Description |
---|---|
ProActive.jar |
ProActive bytecode that you need to include in the CLASSPATH in order to use ProActive |
ProActive_examples.jar |
The bytecode and resources of all examples
included with ProActive. This jar file needs to be included in the CLASSPATH
only when trying to run the examples. All examples rely on ProActive and therefore
the ProActive.jar file must be included in the CLASSPATH as
well. This is done automatically by the scripts driving the examples. The
source code is also included in the src directory (see below) |
ic2d.jar |
The bytecode and resources of IC2D. This
jar file needs to be included in the CLASSPATH only when trying to run the
application IC2D. IC2D relies on ProActive and therefore the ProActive.jar
file must be included in the CLASSPATH. This is done automatically by the
scripts launching the application. The source code is also included in the
src directory (see below) |
lib |
The external libraries used by ProActive |
docs |
ProActive documentation including the full api doc |
scripts/unix |
Unix sh scripts for running the examples |
scripts/windows |
Windows .bat batch files for running the examples |
src |
For source version only, the full source code of ProActive |
compile |
For source version only, the scripts to compile ProActive using Ant. |
ProActive/scripts/unix
or ProActive/scripts/windows
. The source code of all examples
can be found in the directory ProActive/src/org/objectweb/proactive/examples
.
A simple example.
hello.sh
or hello.bat
ProActive/src/org/objectweb/proactive/examples/hello
This example is the ProActive version of the Readers/Writers canonical problem. To illustrate the ease-of-use of the ProActive model, different synchronization policies can be applied without even stopping the application. This example is based on a easy to use Swing GUI.
readers.sh
or readers.bat
ProActive/src/org/objectweb/proactive/examples/readers
This example is one possible implementation of the well-known Dining Philosophers synchronization problem. This example is based on a easy to use Swing GUI.
philosophers.sh
or philosophers.bat
ProActive/src/org/objectweb/proactive/examples/philosophers
In order to use ProActive in your application
you need to place in your CLASSPATH
the following jars files
:
ProActive.jar
: the library
itselfasm.jar
in lib
directory : ASM the default bytecode manipulation framework used to dynamically
generate the java bytecode of the Stubslog4j-core.jar
in lib
directory : Log4j is the logging mechanism used in ProActive. You can define the way you want to log(console, file, GUI) by creating
a log4j configuration file, like the one used in ProActive's example and located under ProActive/scripts/unix or windows. In that case, remind to run your java command
with the property:xercesImpl.jar
in lib
directory : Xerces is the library used to parse and validate xml files, like Deployment Descriptors, Configuration files
and Component filesfractal.jar
in lib
directory : Fractal is the component model used for ProActive Componentsbouncycastle.jar
in lib
directory : This library is used by the ProActive security framework You do not need to modify your CLASSPATH permanently as long as you include the two entries above using a Java IDE or a shell script.
In addition to the jar files above you may want to add the following jar files. None of them are used directly by the core functionnalities of ProActive but only in part of the library. Their are needed to compile all the code but they are not needed at runtime if those specific functionnalities are not used.
bcel.jar
in lib directory :
BCEL is also a bytecode manipulation framework that can be used optionnally
(adding the -DbyteCodeManipulator=BCEL argument to the JVM)jini-core.jar, jini-ext.jar, reggie.jar
in lib directory: used to interface with Jinicog-jglobus.jar, cog-ogce.jar, cryptix.jar, cryptix32.jar, cryptix-asn1.jar, puretls.jar
in lib directory: used to interface
with GlobusIf you use the scripts provided with the distribution to run the examples an existing policy file named proactive.java.policy will be used by default
See Permissions in the JavaTM 2 SDK to learn more about Java permissions. As a first approximation to run your code you can create a simple policy file granted all for everything :
grant {
permission java.security.AllPermission;
};
If you use the scripts provided with the distribution to run the examples an existing log4j file named proactive-log4j will be used by default
Example# the default logging level is INFO log4j.rootLogger=INFO, A1 #A1 uses PatternLayout #and displays the associated message (%m) #using the platform dependant separator (%n) #Use %M for method names #see log4j documentation for details log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%m %n ########### Change here default logging level on a ########### per-logger basis ########### usage is log4j.logger.className=Level, Appender
CLASSPATH
environment variable
does not contain the entry for the ProActive's or ASM's or Log4j's or Xerces' or Fractal's or BouncyCastle's classes.
ProActive.jar,
asm.jar, log4j-core.jar, xercesImpl.jar, fractal.jar, bouncycastle.jar
must
be in your CLASSPATH
. org.objectweb.proactive.NodeException:
java.security.AccessControlException: access denied
(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at org.objectweb.proactive.core.node.rmi.RemoteNodeImpl.<init>(RmiNode.java:17)
at org.objectweb.proactive.core.node.rmi.RemoteNodeFactory._createDefaultNode (RmiNodeFactory.java, Compiled Code)
at org.objectweb.proactive.core.node.NodeFactory.createDefaultNode(NodeFactory.java:127)
at org.objectweb.proactive.core.node.NodeFactory.getDefaultNode(NodeFactory.java:57)
at org.objectweb.proactive.ProActive.newActive(ProActive.java:315)
...
Exception in thread "main" java.lang.ExceptionInInitializerError:
java.security.AccessControlException: access denied
(java.util.PropertyPermission user.home re ad)
at java.security.AccessControlContext.checkPermission (AccessControlContext.java, Compiled Code)
at java.security.AccessController.checkPermission(AccessController.java:403)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1243)
at java.lang.System.getProperty(System.java:539)
at org.objectweb.proactive.mop.MOPProperties.createDefaultProperties (MOPProperties.java:190)
...
log4j:WARN No appender could be found for logger ..... log4j:WARN Please initialize the log4j system properly
If you cannot solve the problem, feel free to email us for support at: proactive-support@sophia.inria.fr. Make sure you include a precise description of your problem along with a full copy of the error message you get.