[ 
https://issues.apache.org/jira/browse/AMQ-4289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Posta resolved AMQ-4289.
----------------------------------

    Resolution: Fixed

Yep! Nice catch!

Fix with r1441277
                
> activemq-perf-maven-plugin is unusable because of bug in ReflectionUtil 
> helper class
> ------------------------------------------------------------------------------------
>
>                 Key: AMQ-4289
>                 URL: https://issues.apache.org/jira/browse/AMQ-4289
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Performance Test
>    Affects Versions: 5.8.0
>            Reporter: Christian Posta
>            Assignee: Christian Posta
>              Labels: maven-activemq-perf-plugin
>
> End up getting stack overflow for recursive call in 
> ReflectionUtil.retrieveClassProperties()... if there is a getter that returns 
> itself, it will not check that the "targetObject" which it's inspecting is 
> the same as what an identity getter would return. For example, 
> RedeliveryPolicy has a method:
> getValue() {
> return this;
> }
> which causes this stack trace:
> java.lang.StackOverflowError
>       at java.io.FileOutputStream.writeBytes(Native Method)
>       at java.io.FileOutputStream.write(FileOutputStream.java:282)
>       at 
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>       at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>       at java.io.PrintStream.flush(PrintStream.java:288)
>       at 
> com.intellij.rt.execution.junit.segments.SegmentedOutputStream.flush(SegmentedOutputStream.java:48)
>       at 
> com.intellij.rt.execution.junit.segments.SegmentedOutputStream.write(SegmentedOutputStream.java:44)
>       at java.io.OutputStream.write(OutputStream.java:99)
>       at java.io.PrintStream.write(PrintStream.java:430)
>       at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
>       at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
>       at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
>       at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
>       at java.io.PrintStream.write(PrintStream.java:477)
>       at java.io.PrintStream.print(PrintStream.java:619)
>       at java.io.PrintStream.println(PrintStream.java:773)
>       at java.lang.Throwable.printStackTrace(Throwable.java:461)
>       at java.lang.Throwable.printStackTrace(Throwable.java:451)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:229)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
>       at 
> org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUt

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to