【问题标题】:AWS Beanstalk to RDS issues with DataNucleusAWS Beanstalk 与 DataNucleus 的 RDS 问题
【发布时间】:2011-07-28 00:26:37
【问题描述】:

我正在尝试运行部署到 Amazon Beanstalk 的 JSP 文件,该文件使用 DataNucleus 连接到 RDS,并且收到以下错误:

javax.jdo.JDOFatalDataStoreException:找不到适合 jdbc 的驱动程序:mysql://mydblahblah.rds.amazonaws.com:3306/mydb?autoReconnect=true 根本原因 java.sql.SQLException:找不到适合 jdbc 的驱动程序:mysql://bmydblahblah.rds.amazonaws.com:3306/mydb?autoReconnect=true java.sql.DriverManager.getConnection(DriverManager.java:640) java.sql.DriverManager.getConnection(DriverManager.java:200)

现在我在类路径中有 MySQL 连接器文件(它位于 WebContent/WEB-INF/lib/mysql-connector-java-5.1.15-bin.jar,所以这应该可以工作。

我还确认,如果我从那里删除库,我会收到“com.mysql.jdbc.Driver not found on CLASSPATH”错误。

这是我的datanucleus.properties 文件的样子:

javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver javax.jdo.option.ConnectionURL=jdbc:mysql://bmydbblahblah.rds.amazonaws.com:3306/mydb #javax.jdo.option.ConnectionURL=jdbc:mysql://localhost:3306/mydb?autoReconnect=true javax.jdo.option.ConnectionUserName=用户 javax.jdo.option.ConnectionPassword=pwnothere

所有这些都适用于连接到 RDS 的本地 Tomcat。只有在 Beanstalk 上运行时才会失败。

任何想法可能导致此问题?

谢谢

【问题讨论】:

  • 不知道您的问题,除了在不同的位置尝试 jdbc 驱动程序,但只是想知道您是否有时间记录有关在 Beanstalk 上使用 DataNucleus 的内容并将其提供给 DataNucleus 项目?谢谢
  • 在它工作之前,没有什么可记录的。 DataNucleus 是一个绝妙的想法,但让它发挥作用并始终如一地发挥作用绝非易事。
  • 不用说它适用于我们提供的所有平台,并且没有报告的问题阻止其在这些平台上使用。人们始终有责任定义他们的问题,并有选择地为它做出贡献。
  • 那是 JDBC 正在寻找驱动程序但没有找到它,而不是 DataNucleus。因此,您应该查看驱动程序的注册以及将其放在 CLASSPATH 中的位置并检查它是否正在注册

标签: mysql amazon datanucleus amazon-elastic-beanstalk


【解决方案1】:

我 [几乎] 使用以下过程解决了这个问题: http://www.cubehouse.org/blog/2011/03/04/using-rds-aws-mysql-on-an-elastic-beanstalk-java-tomcat-server-with-ec2-security-permissions/

此外,您的 EC2 安全组需要为端口 3306 设置规则。 可悲的是,这段代码可以读但不能写。

【讨论】:

  • 是的,我听说其他人在 DataNucleus 上遇到这个问题,甚至可以追溯到 2.2.1 版。他们降级回 2.0 以使其再次工作。我们会看看其他人是否有解决方案。
  • 如上所述,JDBC是找不到JDBC驱动的东西,所以把你的注意力集中在JDBC注册机制上
【解决方案2】:

所以我们在没有任何其他更改的情况下降级到 DataNucleus 2.0,问题就消失了。伤心,但它奏效了。我不推荐使用 MySQL 的较新版本的 DataNucleus。

【讨论】:

猜你喜欢
  • 2019-08-11
  • 2014-10-19
  • 2017-12-30
  • 2020-11-15
  • 1970-01-01
  • 2013-04-09
  • 2017-04-07
  • 2014-07-03
  • 1970-01-01
相关资源
最近更新 更多