Ok, continuing into my forray using the JNI extension I am having
another, weird problem. Note that this worked fine when running under a
SHARED_JVM, no JNI.

The first time a method is called it works fine. The next time it, or
any other methods are called it just hangs. Having DEBUG on 3 gives me
this for the first call:

[perl][3]   matching arguments to validateEnrollment(java.lang.String,
java.lang.String, java.lang.String, java.lang.String, java.lang.String,
java.lang.String, java.lang.String, java.lang.String)
[perl][3]   match successful: score is 16
[perl][3]   calling object(5).validateEnrollment(A, WEB, DEVELOPER, M,
123456789, , , NORMAL)
[perl][3]   packet sent is call_method 5 org.uft.plunkit.EnrollmentMock
validateEnrollment
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
scalar:65 scalar:87.69.66 scalar:68.69.86.69.76.79.80.69.82 scalar:77
scalar:49.50.51.52.53.54.55.56.57 scalar: scalar: scalar:78.79.82.77.65.76
[java][3]   packet recv is call_method 5 org.uft.plunkit.EnrollmentMock
validateEnrollment
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
scalar:65 scalar:87.69.66 scalar:68.69.86.69.76.79.80.69.82 scalar:77
scalar:49.50.51.52.53.54.55.56.57 scalar: scalar: scalar:78.79.82.77.65.76
[java][3]   found a validateEnrollment method
[java][3]
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
=
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)?
[java][3]   has matching signature
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
IN JAVA MOCK - validateEnrollment() - 1
[java][3]   packet sent is ok java_object:0:6:[Ljava.lang.String;
[perl][3]   packet recv is ok java_object:0:6:[Ljava.lang.String;
[perl][3]   checking if stub is array...
[perl][3]   creating array object...
[perl][2]  creating object in java (Inline::Java::Object):
[perl][3]   array object created...
[perl][3]   returning stub...
Called Java validateEnrollment()


And then the 2nd call (this time the same method) give this:

[perl][3]   matching arguments to validateEnrollment(java.lang.String,
java.lang.String, java.lang.String, java.lang.String, java.lang.String,
java.lang.String, java.lang.String, java.lang.String)
[perl][3]   match successful: score is 16
[perl][3]   calling object(5).validateEnrollment(A, WEB, DEVELOPER, M,
123456789, , , NORMAL)
[perl][3]   packet sent is call_method 5 org.uft.plunkit.EnrollmentMock
validateEnrollment
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
scalar:65 scalar:87.69.66 scalar:68.69.86.69.76.79.80.69.82 scalar:77
scalar:49.50.51.52.53.54.55.56.57 scalar: scalar: scalar:78.79.82.77.65.76
[java][3]   packet recv is call_method 5 org.uft.plunkit.EnrollmentMock
validateEnrollment
(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
scalar:65 scalar:87.69.66 scalar:68.69.86.69.76.79.80.69.82 scalar:77
scalar:49.50.51.52.53.54.55.56.57 scalar: scalar: scalar:78.79.82.77.65.76

and that's where it hangs. Nothing else in the log. Any ideas?

I'm starting to think that I might just go back to using the separate
running SHARED_JVM. Has anyone else used JNI under mod_perl?

-- 
Michael Peters
Developer
Plus Three, LP

Reply via email to