Packet for query is too large(1508792 > 1048576)

昨天在调试一个接口的时候,由于入参的字符串太长了,然后爆了一个问题,具体的日志如下:1234567891011121314org.springframework.dao.TransientDataAccessResourceException: \n###Error updating database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1508792 > 1048576).You can change this value on the server by setting the max_allowed_packet' variable.\n###The error may involve com.wdzj.thirdpartzx.core.dao.OrderDetailMapper.insertSelectiveAndGetId-Inline\n###The error occurred while setting parameters\n###SQL: insert into tb_order ( owner_id, amount, status, plat_id, endpoint_id, sid, adder, add_time, request_info ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )\n###Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1508792 > 1048576).You can change this value on the server by setting the max_allowed_packet' variable.\n; SQL [];Packet for query is too large (1508792 > 1048576).You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException:Packet for query is too large (1508792 > 1048576).You can change this value on the server by setting the max_allowed_packet' variable.,org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:106)看到这个日志的关键词Packet for query is too large(1508792 > 1048576),看这意思貌似是传给MySQL解析

Spring 4.0.2.RELEASE和xfire1.2.6集成后出现一个奇葩问题

最近遇到一个奇葩的问题,我们的后台Dubbo服务已经和Spring 4.0.2.RELEASE版本集成,因为需要和一个第三方服务提供方对接,而对方提供的接口是web Service的,而且使用的框架是xfire。我们的技术对接童鞋,按照对方提供的技术文档进行代码编写,在pom.xml中添加了一段依赖导入相关需要的jar包,配置如下: 12345 <dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version></dependency>然后当代码开发已经写得差不多了,在调试的时候就出现一个奇葩问题,老是报一个错org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 96; Document root element “beans”, must match DOCTYPE root “null”.

tomcat运行中途自动退出,问题查证

我们的一个tomcat 7运行应用本来在测试环境运行良好,最近突然应用就自动退出停服,有点奇怪,查看了启动(tailf -n 200 catalina.out)日志获得一段有效的日志信息:1234ERROR: transport error 202: bind failed: Address already in useERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:750]FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 如何解决呢?我们可以从这段日志下手分析。

jenkins配置一个项目自动部署的步骤实践

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1、持续的软件版本发布/测试项目。 2、监控外部调用执行的工作。 我们可以用Jenkins来配置一套自动编译发布项目的流程。下面我们以一个简单的例子来说明。主要有以下步骤: 1 新建一个项目credit,选择构建一个Maven项目:

多并发时支付如何保持账户余额的一致性?

  不管是电商,还是O2O业务都会涉及到支付,而且多速情况下流量比较大,尤其是在做活动的时候。一般支付系统主要有充值,扣费,提现,转账等功能,那么在有些业务场景下,尤其是多并发的情况下,我们在做扣费业务操作时该怎样去保持账户余额的一致呢?Java开发人员可能第一个想法就是在调用扣减的DAO的方法上加上一个synchronized关键字,这个解决办法在单节点应用部署是也许能生效管用,但是在我们实际的应用场景中,一般都是集群,多节点部署的应用,这个时候该如何解决呢?