Hi,
I'm wondering whether the connection between PHP scripts/Apache and
the Java bridge has a timeout? I'm using the standalone mode and I
cached (using PEAR Cache_Lite) the Java object created with the "new
Java(...)" call, so the object can be used to serve more than one
request. It worked well initially, until after some time (probably
some idle time), the cached object seemed no longer valid, and yielded
the following error:
Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke
failed: [[o:JavaBridge]]->deserialize((o:String)[o:String],
(o:int)[o:Integer]). Cause: java.lang.IllegalArgumentException:
Session serialID 1 expired. Responsible VM:
1.6.0_04@http://java.sun.com/" at: #-9
php.java.bridge.JavaBridge.deserialize(JavaBridge.java:1744) #-8
sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) #-7
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#0 java.inc(259): java_ThrowExceptionProxyFactory->getProxy(1, NULL,
true) #1 java.inc(409): java_Arg->getResult(true) #2 java.inc(415):
java_Client->getWrappedResult(true) #3 java.inc(619):
java_Client->getResult() #4 java.inc(1717):
java_Client->invokeMethod(0, 'deserialize', Array) #5 [internal
function]: java_JavaProxy->__wakeup() #6
/usr/share/php/Cache/Lite.php(347): unserialize('O:4:"Java":1:{s...')
#7 /home/rong/trunk/lib/fts.php(15):
Cache_Lite->get('BESearcher-cour...') #8
/home/rong/trunk/lib/modules/search.php(2 in java.inc on line 222
Any idea about how to make this timeout unlimited? or is this (caching
java object) a good way to maintain persistent object across the
bridge? thanks.
Regards,
Rong
|