コード例 #1
0
#!/usr/bin/php

<?php 
//
// this test must be called twice with a standalone or J2EE back end
//
include_once "java/Java.inc";
$rc = false;
for ($i = 0; $i < 100; $i++) {
    @java_reset();
    $here = getcwd();
    java_require("{$here}/arrayToString.jar");
    $Thread = new JavaClass("java.lang.Thread");
    $loader = $Thread->currentThread()->getContextClassLoader();
    $Class = new JavaClass("java.lang.Class");
    $class = $Class->forName("ArrayToString", false, $loader);
    $class2 = $loader->loadClass("ArrayToString");
    $System = new JavaClass("java.lang.System");
    $hc1 = java_values($System->identityHashCode($class));
    $hc2 = java_values($System->identityHashCode($class2));
    $rc = $hc1 == $hc2;
    if (!$rc) {
        $Util = new JavaClass("php.java.bridge.Util");
        $vm_name = $Util->VM_NAME;
        echo "ERROR: {$hc1}, {$hc2}\n";
        echo "Dynamic loading not available in this VM.\n";
        echo "Responsible VM: {$vm_name}\n";
        break;
    }
}
if ($rc) {
コード例 #2
0
#!/usr/bin/php

<?php 
include_once "java/Java.inc";
$Thread = new JavaClass("java.lang.Thread");
$current = $Thread->currentThread();
try {
    $thread = new java("java.lang.Thread", $current->getThreadGroup(), "simple");
    echo "Test failed or no javabridge.policy installed\n";
    exit(1);
} catch (JavaException $e) {
    $cause = $e->getCause();
    if (!java_instanceof($cause, new JavaClass("java.lang.SecurityException"))) {
        echo "test failed\n";
        exit(2);
    }
}
try {
    $thread = new java("java.lang.Thread");
    echo "Test failed or no javabridge.policy installed\n";
    exit(3);
} catch (JavaException $e) {
    $cause = $e->getCause();
    if (!java_instanceof($cause, new JavaClass("java.lang.SecurityException"))) {
        echo "test failed\n";
        exit(4);
    }
}
echo "test okay\n";
exit(0);