|
From: <php...@li...> - 2007-06-02 12:25:58
|
Hi,
> > Java->__call('getIterator', Array)
>
> this sounds like a bug in Java.inc. The bridge
> shouln't pass getIterator to the back end.
the problem appears to be a workaround / debug code
for an earlier version of the zend engine.
Please edit your Java.inc and remove the lines marked
with a -
class JavaObject extends Java {
function Java() {
$delegate = $this->__delegate =
java_create(func_get_args(), true);
$this->__java = $delegate->__java;
$this->__client = $delegate->__client;
}
- function getIterator() {
- $args = func_get_args(); return
$this->__call("getIterator", $args);
- }
- function offsetExists($idx) {
- $args = func_get_args(); return
$this->__call("offsetExists", $args);
- }
- function offsetGet($idx) {
- $args = func_get_args(); return
$this->__call("offsetGet", $args);
- }
- function offsetSet($idx, $val) {
- $args = func_get_args(); return
$this->__call("offsetSet", $args);
- }
- function offsetUnset($idx) {
- $args = func_get_args(); return
$this->__call("offsetUnset", $args);
- }
}
class java_class extends JavaObject {
I have added a JavaBridge.jar at the end of your
ticket which containes an updated Java.inc in the
META-INF/ folder. This jar file also recognizes the
system property
php.java.bridge.ext_java_compatibility
When the option is set to true, the bridge destroys
the object identity for String, Long, Integer, Float,
Double, Collection, Boolean. You can set the option in
php/java/bridge/global.properties or as a VM
parameter, for example:
export
JAVA_OPTS="-Dphp.java.bridge.ext_java_compatibility=true"
export JAVA_HOME=/opt/jdk1.6
/opt/apache-tomcat6/bin/catalina.sh start
or
java -Dphp.java.bridge.ext_java_compatility=true -jar
JavaBridge.jar SERVLET_LOCAL:8080
Regards,
Jost Boekemeier
__________________________________ Yahoo! Clever: Sie haben Fragen? Yahoo! Nutzer antworten Ihnen. www.yahoo.de/clever
|