【问题标题】:Mysql gives on ClassCastException : java.math.BigInteger cannot be cast to java.lang.Long on Amazon EC2Mysql 给出 ClassCastException : java.math.BigInteger 不能在 Amazon EC2 上转换为 java.lang.Long
【发布时间】:2013-01-07 17:51:04
【问题描述】:

我有一个 Java servlet 项目,最近部署在 amazon ec2 实例上。我在 ec2 上安装了 java6、mysql 和 tomcat7 并运行我的应用程序。但是突然之间,网站开始到处给我这个 ClassCastException。 “org.mybeans.factory.RollbackException:java.lang.ClassCastException:java.math.BigInteger 无法转换为 java.lang.Long” 但奇怪的是,同一个项目在我的本地机器上运行得非常好。我只是将 .war 文件 scp 到 ec2 上并运行它。 有没有人遇到过类似的问题?谁能提供一些建议如何解决这个问题?谢谢! (这是我在这里的第一个问题,抱歉格式混乱..)

【问题讨论】:

  • 请发布堆栈跟踪,或者如果它们不同,请发布一个示例。还有,这和 MySQL 有什么关系?

标签: java mysql servlets amazon-ec2 classcastexception


【解决方案1】:

根据http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-type-conversions.html BigInteger 是从 MySQL 值 UNSIGNED BIGINT 返回的,其中 BIGINT 返回一个 Long。 您的本地计算机和 ec2 之间的 db 架构是否存在差异?

【讨论】:

  • 我现在能注意到的唯一区别是我的本地机器运行的是 mysql-5.5.24ubuntu12.04 而 ec2 运行的是 mysql5.5.29ubuntu12.04。除此之外,我认为所有的开发环境,java,tomcat都应该是一样的。我只是不明白为什么该项目可以在我的机器上运行,但不能在 ec2 上运行。
  • 如果您可以发布引发异常的相关代码行以及它使用的数据库架构,则可能有助于诊断问题。现在没有太多事情要做。
猜你喜欢
  • 2016-07-26
  • 2013-08-24
  • 2023-04-03
  • 2019-02-27
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
相关资源
最近更新 更多