Java external procedures can only be run in EXECUTE PROTECTED mode. If you specify EXECUTE NOT PROTECTED for a Java procedure, the request aborts and returns an error message to the requestor.
For Java external procedures, the COMPILE option operates identically to external procedures written in C or C++ with the exception that the extension the JAR file references in the Java external procedure EXTERNAL NAME clause (see CREATE PROCEDURE and REPLACE PROCEDURE (External Form)) is redistributed to all affected nodes on the system. Redistribution is useful when a JAR file is missing on a given node.
The ONLY clause on the COMPILE option for external procedures written in Java generates preamble files, but does not redistribute their associated JAR file.