AWS Beanstalk для RDS проблемы с DataNucleus - PullRequest
0 голосов
/ 02 апреля 2011

Я пытаюсь запустить файл JSP, развернутый в Amazon Beanstalk, который использует DataNucleus для подключения к RDS, и получаю следующую ошибку:

javax.jdo.JDOFatalDataStoreException: No suitable driver found for jdbc:mysql://mydbblahblah.rds.amazonaws.com:3306/mydb?autoReconnect=true

root cause

java.sql.SQLException: No suitable driver found for jdbc:mysql://bmydbblahblah.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=user
javax.jdo.option.ConnectionPassword=pwnothere

Все это работает на моем локальном Tomcat, подключенном к RDS. Сбой только при работе на Beanstalk.

Есть идеи, что может быть причиной этой проблемы?

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Итак, мы перешли на DataNucleus 2.0 без каких-либо других изменений, и проблема исчезла. Грустно, но это сработало. Я не могу рекомендовать более новые версии DataNucleus с MySQL.

0 голосов
/ 09 апреля 2011

Я [почти] решил эту проблему, используя следующую процедуру: 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. К сожалению, этот код может читать, но не записывать.

...