Details
-
Bug
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
1.1
-
None
-
None
-
1. SUN JDK 1.3.1_16 on Windows, hivemind 1.1, tapestry 4.0-rc-1, tomcat 5.0.28
2. IBM JDK 1.3.1 (Websphere 5.0.1) on Windows, hivemind 1.1, tapestry 4.0-rc-1
Description
The 1.3 javac compatability flags are not enough to make Hivemind JDK 1.3 compliant. For instance, running Hivemind in Tomcat 5.0.28 with JDK 1.3.1_16, I get the following error:
In order to fix the error, I think you need to compile with 1.3.1 or change all uses of "StringBuffer.append (StringBuffer)" to "StringBuffer.append( (Object) StringBuffer)"
StringBuffer.append( StringBuffer) did not exist until 1.4. I could be nuts, but the repro scenario is:
1. create this class/method
public static void main( String args[] ){
StringBuffer a = new StringBuffer();
StringBuffer b = new StringBuffer();
a.append( b );
}
2. compile with 1.5 or 1.4 with compatability source=1.3 and target=1.3
3. run it with JDK 1.3.1_16
4. should get this error:
java.lang.NoSuchMethodError: java.lang.StringBuffer: method append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer; not found
Thanks... here's the exception from my app server:
java.lang.NoSuchMethodError: java.lang.StringBuffer: method append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer; not found
at org.apache.hivemind.service.impl.MethodFabImpl.toString(MethodFabImpl.java:98)
at java.lang.String.valueOf(String.java:2466)
at java.lang.StringBuffer.append(StringBuffer.java:387)
at org.apache.hivemind.service.impl.ClassFabImpl.buildMethods(ClassFabImpl.java:173)
at org.apache.hivemind.service.impl.ClassFabImpl.toString(ClassFabImpl.java:149)
at org.apache.tapestry.util.exception.ExceptionAnalyzer.buildDescription(ExceptionAnalyzer.java:177)
at org.apache.tapestry.util.exception.ExceptionAnalyzer.analyze(ExceptionAnalyzer.java:86)
at org.apache.tapestry.util.exception.ExceptionAnalyzer.reportException(ExceptionAnalyzer.java:378)
at org.apache.tapestry.error.RequestExceptionReporterImpl.reportRequestException(RequestExceptionReporterImpl.java:59)
at $RequestExceptionReporter_10830ff52c9.reportRequestException($RequestExceptionReporter_10830ff52c9.java)
at $RequestExceptionReporter_10830ff52c8.reportRequestException($RequestExceptionReporter_10830ff52c8.java)
at org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:53)
at $ExceptionPresenter_10830ff529b.presentException($ExceptionPresenter_10830ff529b.java)
at $ExceptionPresenter_10830ff529a.presentException($ExceptionPresenter_10830ff529a.java)
at org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
at $WebRequestServicer_10830ff52fd.service($WebRequestServicer_10830ff52fd.java)
at $WebRequestServicer_10830ff52fc.service($WebRequestServicer_10830ff52fc.java)
at $WebRequestServicer_10830ff52f9.service($WebRequestServicer_10830ff52f9.java)
at $WebRequestServicer_10830ff52f8.service($WebRequestServicer_10830ff52f8.java)
at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
at $ServletRequestServicer_10830ff52dd.service($ServletRequestServicer_10830ff52dd.java)
at $ServletRequestServicer_10830ff52dc.service($ServletRequestServicer_10830ff52dc.java)
at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
at $ServletRequestServicerFilter_10830ff52d9.service($ServletRequestServicerFilter_10830ff52d9.java)
at $ServletRequestServicerFilter_10830ff52d8.service($ServletRequestServicerFilter_10830ff52d8.java)
at $ServletRequestServicer_10830ff52de.service($ServletRequestServicer_10830ff52de.java)
at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
at $ServletRequestServicerFilter_10830ff52d7.service($ServletRequestServicerFilter_10830ff52d7.java)
at $ServletRequestServicerFilter_10830ff52d6.service($ServletRequestServicerFilter_10830ff52d6.java)
at $ServletRequestServicer_10830ff52de.service($ServletRequestServicer_10830ff52de.java)
at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
at $ServletRequestServicerFilter_10830ff52db.service($ServletRequestServicerFilter_10830ff52db.java)
at $ServletRequestServicerFilter_10830ff52da.service($ServletRequestServicerFilter_10830ff52da.java)
at $ServletRequestServicer_10830ff52de.service($ServletRequestServicer_10830ff52de.java)
at $ServletRequestServicer_10830ff52d1.service($ServletRequestServicer_10830ff52d1.java)
at $ServletRequestServicer_10830ff52d0.service($ServletRequestServicer_10830ff52d0.java)
at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)