public static boolean initialize(String libraryName, String engine) throws Exception {
        if (_instance == null) {
            _instance = libraryName == null ? new Library() : new Library(libraryName);

            if (aprMajorVersion() < 1) {
                throw new UnsatisfiedLinkError("Unsupported APR Version (" +
                                               aprVersionString() + ")");
            }

            if (!aprHasThreads()) {
                throw new UnsatisfiedLinkError("Missing APR_HAS_THREADS");
            }
        }
        return initialize0() && SSL.initialize(engine) == 0;
    }
public static boolean initialize ( String libraryName , String engine ) throws Exception { if ( _instance == null ) { _instance = libraryName == null ? new Library ( ) : new Library ( libraryName ) ; if ( aprMajorVersion ( ) < 1 ) { throw new UnsatisfiedLinkError ( "Unsupported APR Version (" + aprVersionString ( ) + ")" ) ; } if ( ! aprHasThreads ( ) ) { throw new UnsatisfiedLinkError ( "Missing APR_HAS_THREADS" ) ; } } return initialize0 ( ) && SSL . initialize ( engine ) == 0 ; }
Setup native library. This is the first method that must be called!

@param libraryName the name of the library to load
@param engine Support for external a Crypto Device ("engine"), usually
@return {@code true} if initialization was successful
@throws Exception if an error happens during initialization