Persisting Java Objects with InterSystems XEP
XEP is a lightweight API that provides high-performance Java technology for persisting simple to moderately complex object hierarchies. XEP projects the data in Java objects as persistent events
(database objects that store a persistent copy of the data fields) in an InterSystems IRIS™ database. XEP is optimized for applications that must acquire and persist data at the highest possible speed.
This section specifies requirements and provides instructions for installing InterSystems IRIS and configuring your environment to use XEP.
Computers that run your Java client applications do not require InterSystems IRIS, but they must have a connection to the InterSystems IRIS Server and must be running a supported version of the Java JDK.
When installing InterSystems IRIS, select the Development environment:
If InterSystems IRIS has been installed with security level 2, open the Management Portal and go to [System Administration] > [Security] > [Services]
, select %Service_CallIn
, and make sure the Service Enabled
box is checked.
If you installed InterSystems IRIS with security level 1 (minimal) it should already be checked.
In order to run XEP applications, the following requirements must be met on all platforms:
The InterSystems IRIS User
namespace must exist and must be writable.
In Windows, add it to your PATH
In UNIX® and related operating systems, add it to your LD_LIBRARY_PATH
If your Path variable includes more than one <install-dir>/bin
path (for example, if you have installed more than one instance of InterSystems IRIS) only the first one will be used, and any others will be ignored.
Additional Configuration for Windows
The default stack size of the Java Virtual Machine on Windows is too small for running XEP applications (running them with the default stack size causes Java to report EXCEPTION_STACK_OVERFLOW
). To optimize performance, heap size should also be increased. To temporarily modify the stack size and heap size when running an XEP application, add the following command line arguments:
Additional Configuration for UNIX® and Related Operating Systems
Make sure that you have permissions on the binaries (add the user to the Irisusr
Set the environment variable LD_PRELOAD
to the path of libjsig.so
(a library which enables Java to resolve signal handling anomalies) within your Java installation. For example (depending on which shell you are using) :
setenv LD_PRELOAD /my_jdk_path/jre/lib/amd64/libjsig.so
The path of libjsig.so
under the root of a Java installation may vary from platform to platform, or from one Java release to another. You can locate it on your system with the following command:
find $JAVA_HOME -name libjsig.so -print
is set to the root directory of your Java installation.
variable setting is important if your XEP application also uses other third party components that set up signal handlers. It enables Java to chain signal handlers set by InterSystems IRIS with its own signal handlers, so that they do not interfere with each other. Failure to set this variable may result in a system crash.