FYI - LS2J GetMethod call fails (broken) with FP3 (java.lang.internalError)

FYI … after applying Notes / Domino 9.0.1 FP3 the LS2J ‘GetMethod’ fails with a ‘java.lang.internalError’.

Example:

Dim jSession As JavaSession

Dim jClass As JavaClass

Dim jObject As JavaObject

Dim jMethod As JavaMethod

Dim returnValue As Variant

Set jSession = NewJavaSession()

Set jClass = jSession.GetClass(“acme.com.utils.MyClass”)

Set jObject = jClass.CreateObject

Set jMethod = jClass.GetMethod(“myFunction”,“(Ljava/lang/String;Ljava/lang/string;)Z”) ← error occurs here

returnValue = jMethod.Invoke(jObject, “xxx”, “yyy”)

Workaround - iterate through the methods of the java class object to find the method you want.

Example:

Dim jSession As JavaSession

Dim jClass As JavaClass

Dim jObject As JavaObject

Dim jMethods As JavaMethodCollection

Dim jMethod As JavaMethod

Dim returnValue As Variant

Set jSession = NewJavaSession()

Set jClass = jSession.GetClass(“acme.com.utils.MyClass”)

Set jObject = jClass.CreateObject

Set jMethods = jClass.GetClassMethods()

Forall method In jMethods

If method.MethodName = “myFunction” Then

Set jMethod = method;

Exit Forall

End Forall

returnValue = jMethod.Invoke(jObject, “xxx”, “yyy”)

Note: this error only occurs when FP3 is installed and does not occur in other versions / patches of Notes / Domino.

Hope it helps.

Alex Elliott

http://www.agecom.com.au http://www.agecom.com.au

Subject: Fixed yet

Has this issue been addressed or fixed yet? We have a mission-critical app that leverages Java through LS2J that is broken thanks to this bug.

Subject: Currently being evaluated for next fix pack

Keith,

The SPR RGAU9T8P4Y is and is currently being evaluated for 9.0.1 FP4: http://www-10.lotus.com/ldd/fixlist.nsf/(Progress)/901%20FP4 http://www-10.lotus.com/ldd/fixlist.nsf/(Progress)/901%20FP4. Did you try the workaround shown in Alex’s post?

Subject: This issue is being investigated.

Thank you for this post. The team is investigating this issue.