Re: proxy of executor java.lang.NullPointerException

29 views
Skip to first unread message
Message has been deleted

Guy Rouillier

unread,
Aug 13, 2019, 8:59:36 PM8/13/19
to mybatis-user
Do you have a question?  You got a NullPointerException "while setting parameters".  That's pretty self-explanatory.  Check the parameter you are passing for null values.

--
Guy Rouillier

On 8/13/2019 8:25:42 AM, "zoro" <kosmos...@gmail.com> wrote:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.lang.NullPointerException
### The error may involve CashWithdrawManager.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO cash_withdraw_request ( id , amount , applyTime , fee , handleTime , bankCardNo , bankCode , bankCardBranch , userId , status , pnrOrdId , pnrTrxId , pnrStatus , memo ,withdraw_task_type , bank_card_id ,tast_id ,start_time ,source ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,? ,? ,? ,? ,? )
### Cause: java.lang.NullPointerException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75) ~[mybatis-spring-1.2.2.jar:1.2.2]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371) ~[mybatis-spring-1.2.2.jar:1.2.2]
at com.sun.proxy.$Proxy28.insert(Unknown Source) ~[na:na]
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240) ~[mybatis-spring-1.2.2.jar:1.2.2]
at com.yinker.base.dao.BaseIbatisDao.save(BaseIbatisDao.java:65) ~[xinda-base-data-2.0-SNAPSHOTS.jar:na]
at com.yinker.deal.manager.impl.CashWithdrawManagerImpl.withdraw(CashWithdrawManagerImpl.java:285) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) [spring-aop-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) [spring-aop-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [spring-aop-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) [spring-tx-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) [spring-tx-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) [spring-tx-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [spring-aop-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) [spring-aop-3.2.18.RELEASE.jar:3.2.18.RELEASE]
at com.sun.proxy.$Proxy36.withdraw(Unknown Source) [na:na]
at com.yinker.connector.service.UserWithdrawImpl.doWithdraw(UserWithdrawImpl.java:1189) [classes/:na]
at com.yinker.connector.service.UserWithdrawImpl.withdraw(UserWithdrawImpl.java:895) [classes/:na]
at com.alibaba.dubbo.common.bytecode.Wrapper115.invokeMethod(Wrapper115.java) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) [dubbo-2.8.4.jar:2.8.4]
at com.yinker.base.cat.CatDubboTransaction.invoke(CatDubboTransaction.java:82) [xinda-base-monitor-2.0-SNAPSHOTS.jar:na]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:70) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:132) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:113) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) [dubbo-2.8.4.jar:2.8.4]
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) [dubbo-2.8.4.jar:2.8.4]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_79]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]
Caused by: org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.lang.NullPointerException
### The error may involve CashWithdrawManager.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO cash_withdraw_request ( id , amount , applyTime , fee , handleTime , bankCardNo , bankCode , bankCardBranch , userId , status , pnrOrdId , pnrTrxId , pnrStatus , memo ,withdraw_task_type , bank_card_id ,tast_id ,start_time ,source ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,? ,? ,? ,? ,? )
### Cause: java.lang.NullPointerException
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:154) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141) ~[mybatis-3.2.8.jar:3.2.8]
at sun.reflect.GeneratedMethodAccessor351.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358) ~[mybatis-spring-1.2.2.jar:1.2.2]
... 49 common frames omitted
Caused by: java.lang.NullPointerException: null
at com.sun.proxy.$Proxy87.update(Unknown Source) ~[na:na]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:152) ~[mybatis-3.2.8.jar:3.2.8]
... 54 common frames omitted

--
You received this message because you are subscribed to the Google Groups "mybatis-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mybatis-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mybatis-user/fee93707-c97f-451f-a036-698e3723a030%40googlegroups.com.
Message has been deleted

Guy Rouillier

unread,
Aug 14, 2019, 2:48:34 AM8/14/19
to mybatis-user
I just checked out version 3.2.8.  DefaultSqlSession.java line 152 is the following in the update() method:

      return executor.update(ms, wrapCollection(parameter));

Since the log specifically says "The error occurred while setting parameters", I'm inclined to believe it.  On what are you basing your conclusion "so param is ok"?  Show us a log output of all the parameter values, and perhaps we can help further.  Not just the primary parameter, but all the parameter fields as well.

--
Guy Rouillier

On 8/14/2019 1:59:51 AM, "zoro" <kosmos...@gmail.com> wrote:

I have checked all of parms and this NullPointerException throwed by com.sun.proxy.$Proxy87.update  
so param is ok


在 2019年8月14日星期三 UTC+8上午8:59:36,Guy Rouillier写道:
To unsubscribe from this group and stop receiving emails from it, send an email to mybati...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mybatis-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mybatis-user...@googlegroups.com.
Message has been deleted

葛俊

unread,
Aug 14, 2019, 4:39:33 AM8/14/19
to mybati...@googlegroups.com


zoro <kosmos...@gmail.com>于2019年8月14日 周三下午4:21写道:
table definition

Screen Shot 2019-08-14 at 16.17.02.png

log : 

[INFO]2019-08-12 13:42:31[|||||system.source_IS_UNDEFINED||||]com.yinker.deal.utils.AccountTaskEntityUtils|params:{"offset":"0","rowCount":"10","queryRowCount":true,"ascOrder":false,"page":null,"rows":null,"startCreateTime":null,"endCreateTime":null,"lastId":null,"id":null,"amount":"20000.00","applyTime":"2019-08-12 13:42:31","fee":"0.00","handleTime":null,"bankCardNo":null,"bankCode":"ICBC","bankCardBranch":null,"userId":9362695,"status":100,"pnrOrdId":"30156558855184217407","pnrTrxId":null,"pnrStatus":"0","memo":null,"source":"","bankCardId":527778,"tradeTime":null,"tradeOrderId":null,"startTime":"2019-08-12 13:42:31","withdrawTaskType":"NONE","taskId":"0","nextHandleTime":null}|
[ERROR]2019-08-12 13:42:31[|||||system.source_IS_UNDEFINED||||]com.yinker.deal.manager.impl.CashWithdrawManagerImpl|提现操作执行失败|

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.lang.NullPointerException
### The error may involve defaultParameterMap
### The error may involve defaultParameterMap

### The error occurred while setting parameters
### SQL: INSERT INTO cash_withdraw_request ( id , amount , applyTime , fee , handleTime , bankCardNo , bankCode , bankCardBranch , userId , status , pnrOrdId , pnrTrxId , pnrStatus , memo ,withdraw_task_type , bank_card_id ,tast_id ,start_time ,source ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,? ,? ,? ,? ,? )
### Cause: java.lang.NullPointerException
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:154) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141) ~[mybatis-3.2.8.jar:3.2.8]
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
   at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358) ~[mybatis-spring-1.2.2.jar:1.2.2]
... 49 common frames omitted
Caused by: java.lang.NullPointerException: null
at com.sun.proxy.$Proxy87.update(Unknown Source) ~[na:na]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:152) ~[mybatis-3.2.8.jar:3.2.8]
   ... 55 common frames omitted
[INFO]2019-08-12 13:42:41[|||||system.source_IS_UNDEFINED||||]com.yinker.deal.utils.AccountTaskEntityUtils|提现参数如下:{"offset":"0","rowCount":"10","queryRowCount":true,"ascOrder":false,"page":null,"rows":null,"startCreateTime":null,"endCreateTime":null,"lastId":null,"id":null,"amount":"10000.00","applyTime":"2019-08-12 13:42:41","fee":"0.00","handleTime":null,"bankCardNo":null,"bankCode":"ICBC","bankCardBranch":null,"userId":9362695,"status":100,"pnrOrdId":"30156558856134786144","pnrTrxId":null,"pnrStatus":"0","memo":null,"source":"","bankCardId":527778,"tradeTime":null,"tradeOrderId":null,"startTime":"2019-08-12 13:42:41","withdrawTaskType":"NONE","taskId":"0","nextHandleTime":null}|
[ERROR]2019-08-12 13:42:41[|||||system.source_IS_UNDEFINED||||]com.yinker.deal.manager.impl.CashWithdrawManagerImpl|提现操作执行失败|

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.lang.NullPointerException
### The error may involve defaultParameterMap
### The error may involve defaultParameterMap

### The error occurred while setting parameters
### SQL: INSERT INTO cash_withdraw_request ( id , amount , applyTime , fee , handleTime , bankCardNo , bankCode , bankCardBranch , userId , status , pnrOrdId , pnrTrxId , pnrStatus , memo ,withdraw_task_type , bank_card_id ,tast_id ,start_time ,source ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,? ,? ,? ,? ,? )
### Cause: java.lang.NullPointerException
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:154) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141) ~[mybatis-3.2.8.jar:3.2.8]
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
   at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358) ~[mybatis-spring-1.2.2.jar:1.2.2]
... 49 common frames omitted
Caused by: java.lang.NullPointerException: null
at com.sun.proxy.$Proxy87.update(Unknown Source) ~[na:na]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:152) ~[mybatis-3.2.8.jar:3.2.8]
   ... 55 common frames omitted

在 2019年8月14日星期三 UTC+8下午2:48:34,Guy Rouillier写道:

--
You received this message because you are subscribed to the Google Groups "mybatis-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mybatis-user...@googlegroups.com.
Message has been deleted

Iwao AVE!

unread,
Aug 15, 2019, 3:35:37 PM8/15/19
to mybatis-user

Hi,

Don’t you use any plugin?
It might happen if the plugin’s plugin() method returned null.

If that is not the case, try creating a repro like these and I would look into it.

Regards,
Iwao

Reply all
Reply to author
Forward
0 new messages