Showing posts with label Exception. Show all posts

org.redisson.client.RedisException: Unexpected exception while processing command

  org.redisson.client.RedisException: org.redisson.client.RedisException: Unexpected exception while processing command
	at jdk.internal.reflect.GeneratedConstructorAccessor358.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:600)
	at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678)
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:737)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:661)
	at jdk.internal.reflect.GeneratedMethodAccessor1318.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.redisson.client.RedisException: Unexpected exception while processing command
	at org.redisson.command.CommandAsyncService.convertException(CommandAsyncService.java:352)
	at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:149)
	at org.redisson.RedissonObject.get(RedissonObject.java:81)
	at org.redisson.RedissonMap.get(RedissonMap.java:618)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.io.IOException: java.lang.ClassNotFoundException: com.xxx.xxx.xxx
	at org.redisson.codec.MarshallingCodec$3.decode(MarshallingCodec.java:153)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:359)
	at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:178)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:117)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:102)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1533)
	at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1282)
	at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1329)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508)
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:447)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassNotFoundException: com.xxx.xxx.xxx
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:398)
	at org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:129)
	at org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:110)
	at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:1033)
	at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1366)
	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:283)
	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:216)
	at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
	at org.redisson.codec.MarshallingCodec$3.decode(MarshallingCodec.java:151)
	... 32 common frames omitted
  
To fix the exception you need to set codec for your redisson. By using org.redisson.codec.SerializationCodec I was able to resolve the issue.
Config config = new Config();
config.setCodec(new org.redisson.codec.SerializationCodec());
 

Exception Handling with Method Overriding in Java


In our day to day programming we use method overriding widely. Have you ever considered how exception handling rule works in method overriding? Lets see how it works in Java with example. 
 
RULE 1. Super class method does not declare any exception in its method signature.
If super class method does not declared any exception in its method signature then sub-class's over ridden method can not declare any checked exception however it can declare any unchecked/RuntimeException. Following example demonstrate the first rule of exception. 
 
Source code (SuperClassExceptionRule1.java)
/**
 * Example of SuperClassExceptionRule1 in java.
 * @author javaQuery
 * @date 2021-09-07
 * @Github: https://github.com/javaquery/Examples
 */
public class SuperClassExceptionRule1 {

    public void methodWithoutException(){
        System.out.println("methodWithoutException");
    }

    public static void main(String[] args) {
        System.out.printf("SuperClassExceptionRule1");
    }

    public class ChildClassExceptionRule1 extends SuperClassExceptionRule1{

//        Compile time error when tried to throw checked exception
//        @Override
//        public void methodWithoutException() throws Exception{
//            super.methodWithoutException();
//        }

        // Allowed to throw unchecked exception (i.e Any RuntimeException)
        @Override
        public void methodWithoutException() throws RuntimeException{
            super.methodWithoutException();
        }
    }
}
RULE 2. Super class method declared exception in its method signature.
If super class method declared any exception in its method signature then sub-class's over ridden method can declare same exception, any child/sub-class exception or no exception however you can not declare parent exception. Following example demonstrate the second rule of exception.
 
Source code (SuperClassExceptionRule2.java)
/**
 * Example of SuperClassExceptionRule2 in java.
 * @author javaQuery
 * @date 2021-09-07
 * @Github: https://github.com/javaquery/Examples
 */
public class SuperClassExceptionRule2 {

    public void methodWithException() throws IllegalArgumentException{
        System.out.println("methodWithException");
    }

    public static void main(String[] args) {
        System.out.printf("SuperClassExceptionRule2");
    }

    public class ChildClassExceptionRule2 extends SuperClassExceptionRule2 {

//        Compile time error when tried to throw parent exception
//        @Override
//        public void methodWithException() throws Exception{
//            super.methodWithException();
//        }

        // Allowed to throw original exception (IllegalArgumentException)
        // or child exception of IllegalArgumentException
        @Override
        public void methodWithException() throws NumberFormatException{
            super.methodWithException();
        }
    }

    public class ChildClassExceptionRule22 extends SuperClassExceptionRule2 {

        // Allowed not to throw any exception
        @Override
        public void methodWithException(){
            super.methodWithException();
        }
    }
}

What is the difference between Error and Exception in Java?


Errors and Exceptions are the subclasses of Throwable. However it hold different context for any Java program.
 
Errors result from failures detected by the Java Virtual Machine, such as OutOfMemoryError, StackOverflowError, etc... Most simple programs do not try to handle errors. For errors programs are not expected to recover. Mostly errors results from lack of resources provided to program. An Internal error or resource limitation errors are subclasses of VirtualMachineError.

Source code (StackOverflowErrorExample.java)
/**
 * Example of StackOverflowError in java.
 * @author javaQuery
 * @date 2021-09-07
 * @Github: https://github.com/javaquery/Examples
 */
public class StackOverflowErrorExample {
    private static void recursion(int i){
        if(i == 0){
            System.out.println("Not reachable code");
        }else{
            recursion(i++);
        }
    }

    public static void main(String[] args) {
        recursion(10);
    }
}
  
Exception results when constraints are violated in program. Exception can be checked exception or unchecked exception. For exceptions, programs are expected to recover. Exception can occur at compile time (checked exception: FileNotFoundException) and at run time (unchecked exception: ArithmeticException)

Source code (ArithmeticExceptionExample.java)
/**
 * Example of ArithmeticException in java.
 * @author javaQuery
 * @date 2021-09-07
 * @Github: https://github.com/javaquery/Examples
 */
public class ArithmeticExceptionExample {

    public static void main(String[] args) {
        int x = 10;
        int y = getY();
        System.out.println(x / y);
    }

    /**
     * This is example of getting value from some method call.
     * There is possibilities of getting value `0`.
     *
     * Java compiler can't identify such errors
     */
    public static int getY(){
        return 2-2;
    }
}


Date in Credential scope does not match YYYYMMDD from ISO-8601 version of date from HTTP: '20160114T083022Z' != '20160114', from '20160114T083022Z'.

I got this response message while working around AWS Version 4 Signing ProcessThere ain't much to explain. Just add 

  • x-amz-date header with date format yyyyMMdd'T'HHmmss'Z'
  • And use yyyyMMdd date format in StringToSign and Credential parameter of Authorization header.

Related
Authorization header requires 'Credential' parameter.
Authorization header requires 'Signature' parameter.
Authorization header requires 'SignedHeaders' parameter.

Authorization header requires 'SignedHeaders' parameter.

I got this response message while working around AWS Version 4 Signing Process. There ain't much to explain. Just add SignedHeaders=SignedHeaders in your Authorization header.

SignedHeaders=SignedHeaders will look like...
SignedHeaders=content-type;host;x-amz-date

Complete Authorization Header
Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature

TO
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7

Related
Authorization header requires 'Credential' parameter.
Authorization header requires 'Signature' parameter.

Reference
http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html


Authorization header requires 'Signature' parameter.

I got this response message while working around AWS Version 4 Signing Process. There ain't much to explain. Just add Signature=signature in your Authorization header.

Signature=signature will look like...
Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7

Complete Authorization Header
Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature

TO
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7

Related
Authorization header requires 'Credential' parameter.
Authorization header requires 'SignedHeaders' parameter.

Reference
http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html


Authorization header requires 'Credential' parameter.

I got this response message while working around AWS Version 4 Signing Process. There ain't much to explain. Just add Credential=access key ID/credential scope in your Authorization header.

Credential=access key ID/credential scope will look like...
Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request

Complete Authorization Header
Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature

TO
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7

Related
Authorization header requires 'Signature' parameter.
Authorization header requires 'SignedHeaders' parameter.

Reference
http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html


net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean: .

net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean: .
 at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:872)
 at net.sf.jasperreports.components.table.fill.FillTableSubreport.prepareSubreport(FillTableSubreport.java:166)
 at net.sf.jasperreports.components.table.fill.FillTable.prepare(FillTable.java:417)
 at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:150)
 at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:330)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:382)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:357)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2031)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:122)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
 at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411)
 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
 at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:583)
 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:929)
 at com.org.openxcell.channel.ftp.processor.InvoiceProcessor.createStandardPackage(InvoiceProcessor.java:643)
 at com.org.openxcell.channel.ftp.processor.InvoiceProcessor.main(InvoiceProcessor.java:676)
Caused by: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean: .
 at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:132)
 at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:97)
 at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:108)
 at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1373)
 at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1274)
 at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1250)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1003)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:120)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
 at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:736)
 at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:58)
 at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:95)
 at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170)
 at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129)
 at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102)
 at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.start(JRContinuationSubreportRunner.java:52)
 at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:847)
 ... 17 more
Caused by: java.lang.NoSuchMethodException: Unknown property '' on class 'class com.org.openxcell.channel.ftp.processor.SalesOrderItemDataSource'
 at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1322)
 at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:770)
 at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)
 at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
 at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:112)
 ... 33 more

I got above exception because I've table with subDataset containing <field> tag along with <fieldDescription> tag in it.
<field name="firstname" class="java.lang.String">
 <fieldDescription><![CDATA[]]></fieldDescription>
</field>
Solution
Remove <fieldDescription> tag from <field> tag.
<field name="firstname" class="java.lang.String"/>

net.sf.jasperreports.engine.JRRuntimeException: java.lang.StackOverflowError

I got following exception when one of my table in Jasper report grows to next page.
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.fill.BaseReportFiller).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
net.sf.jasperreports.engine.JRRuntimeException: java.lang.StackOverflowError
 at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:872)
 at net.sf.jasperreports.components.table.fill.FillTableSubreport.prepareSubreport(FillTableSubreport.java:166)
 at net.sf.jasperreports.components.table.fill.FillTable.prepare(FillTable.java:417)
 at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:150)
 at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:330)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:382)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:357)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2031)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:122)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
 at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411)
 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
 at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:583)
 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:929)
Caused by: java.lang.StackOverflowError
 at java.util.HashMap$EntryIterator.<init>(Unknown Source)
 at java.util.HashMap$EntrySet.iterator(Unknown Source)
 at java.util.AbstractMap.hashCode(Unknown Source)
 at java.util.Objects.hashCode(Unknown Source)
 at java.util.HashMap$Node.hashCode(Unknown Source)
 ...
net.sf.jasperreports.engine.JRException: The report filling thread was interrupted.
 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:126)
 at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:583)
 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:929)
 ...
Caused by: net.sf.jasperreports.engine.fill.JRFillInterruptedException: Report filling process interrupted.
 at net.sf.jasperreports.engine.fill.BaseReportFiller.checkInterrupted(BaseReportFiller.java:535)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:369)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:357)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBackground(JRVerticalFiller.java:1819)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:252)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:122)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
 at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411)
 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
 ... 4 more
net.sf.jasperreports.engine.JRRuntimeException: java.lang.StackOverflowError
 at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:872)
 at net.sf.jasperreports.components.table.fill.FillTableSubreport.prepareSubreport(FillTableSubreport.java:166)
 at net.sf.jasperreports.components.table.fill.FillTable.prepare(FillTable.java:417)
 at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:150)
 at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:330)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:382)
 at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:357)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2031)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262)
 at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:122)
 at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
 at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411)
 at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
 at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:583)
 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:929)
 ...
Caused by: java.lang.StackOverflowError
 at java.util.AbstractMap.hashCode(Unknown Source)
 at java.util.Objects.hashCode(Unknown Source)
 at java.util.HashMap$Node.hashCode(Unknown Source)
 ...

Jasper Exception StackOverflowError

Solution 1
Remove org.apache.log4j jar from your build path and I guess its nearly impossible for you to do so, as you used this log4j everywhere in your code. Solution 2 will save you.

Solution 2
Move your log4j.properties file in src folder. This will work.

Reference
http://community.jaspersoft.com/jasperreports-library/issues/5015#comment-709695

Top 10 Interview questions on Exception handling in Java



Can we write try without catch?
Yes we can write try without catch but we must write finally.
try{
   try code...
}finally{
   ...
}

Can we write just try without catch and finally?
try{
   try code...
}
No, We can't write just try. (Already stated this in answer 1)


What is finally block?
finally block used to close resources used in try.
=> finally block will be executed even if exception occurs try block.
=> finally block will be execute even you write return variable from try block.
=> finally block will not be executed when System.exit(exitcode) executed in try block.
try {
   /* finally will be executed */
   /* int a = 1 /0; */  
   /* return; */ 
 
   /* finally will not be executed */
   System.exit(0);
} catch (Exception e) {
   e.printStackTrace();
}finally{
   System.out.println("Finally executed.");
}

Can we write try within try?
try {
   try code...
   try {
      try code... 
   } catch (Exception e) {
      e.printStackTrace();
   }  
} catch (Exception e) {
   e.printStackTrace();
}
Yes we can write nested try-catch.


What is the difference between throw and throws?
-> throw is used for throwing an exception from program.
throw new NullPointerException();
-> throws is used in method definition. When method is causing an exception and it is not handled by method itself then exception is passed to caller method.
public void readFile(String filepath) throws IOException{
   ...
}

Which is super class of all exception?
Throwable is super class of all exception including Class `Exception`.
public class IOException extends Exception

public class Exception extends Throwable

What is difference between checked and unchecked exception?
This is explained with example. Read more on http://www.javaquery.com/2015/05/difference-between-checked-vs-unchecked.html


Does the sequence of catch matter? or Following code will compile?
try {
   try code...
} catch (Exception e) {
   e.printStackTrace();
} catch (NullPointerException ne){
   ne.printStackTrace();
}
Yes, Sub class must be caught first. NullPointerException is sub class of Exception. Above program will give compile time error Unreachable catch block for NullPointerException. It is already handled by the catch block for Exception.


What is try-with-resources?(Java 7 or above)
This is explained with example. Read more on http://www.javaquery.com/2015/04/what-is-try-with-resources-in-java-7-or.html


Can we catch multiple exception in one catch?(Java 7 or above)
Yes we can.
catch (IOException|SQLException ex) {
   throw ex;
}