-1

I used a preconfigured AWS Linux AMI with Glassfish Elastic Beanstalk to deploy my java web service. I have managed to setup my RDS and it's working fine when running glassfish locally connected to AWS RDS. The issue only happens when I run the web service on AWS EBS. From what I could see it seems the mysql connector is there but for some reasons is not being detected by the app. Unfortunaly the Glassfish folder is hidden in linux EC2. Can anyone please advise what step I should do to fix this exception?

     remote failure: Error occurred during deployment: Exception while deploying the app [current-app] : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException

    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource

Error Code: 0. Please see server.log for more details.
    Command deploy failed.

I have SSH and run this yum but it's not fixing the problem.

sudo yum install mysql-connector-java

Thanks

     adding: WEB-INF/lib/aopalliance-repackaged-2.5.0-b32.jar (deflated 34%)
  adding: WEB-INF/lib/javassist-3.20.0-GA.jar (deflated 7%)
  adding: WEB-INF/lib/javax.ws.rs-api-2.0.1.jar (deflated 14%)
  adding: WEB-INF/lib/jersey-container-servlet-2.25.1.jar (deflated 21%)
  adding: WEB-INF/lib/validation-api-1.1.0.Final.jar (deflated 25%)
  adding: WEB-INF/lib/mysql-connector-java-6.0.6.jar (deflated 6%)
  adding: WEB-INF/lib/jersey-common-2.25.1.jar (deflated 12%)
  adding: WEB-INF/lib/hk2-utils-2.5.0-b32.jar (deflated 12%)
  adding: WEB-INF/lib/javax.inject-2.5.0-b32.jar (deflated 24%)
  adding: WEB-INF/lib/osgi-resource-locator-1.0.1.jar (deflated 15%)
  adding: WEB-INF/lib/jersey-server-2.25.1.jar (deflated 14%)
  adding: WEB-INF/lib/jersey-guava-2.25.1.jar (deflated 15%)
  adding: WEB-INF/lib/hk2-api-2.5.0-b32.jar (deflated 13%)
  adding: WEB-INF/lib/hk2-locator-2.5.0-b32.jar (deflated 7%)
  adding: WEB-INF/lib/jersey-client-2.25.1.jar (deflated 12%)
  adding: WEB-INF/lib/jersey-media-jaxb-2.25.1.jar (deflated 14%)
  adding: WEB-INF/lib/jersey-container-servlet-core-2.25.1.jar (deflated 16%)
Ash A
  • 61
  • 1
  • 5

1 Answers1

0

After digging around the net and testing few things. I managed to find the issue, glassfish folder is not visible on Amazon Glassfish AMI. So you have to create a Dockerfile(no file extension) inside your Web Pages(Project Name>Web Pages) Netbeans Project with the following code. For some reasons my app won't pick up the jar inside the domain1/lib so instead I put it on glassfish/lib

# Use the AWS Elastic Beanstalk GlassFish image
FROM amazon/aws-eb-glassfish:4.1-jdk8-onbuild-3.5.1

EXPOSE 8080 3306

# Install MySQL dependencies
RUN curl -L -o /usr/local/glassfish4/glassfish/domains/domain1/lib/mysql-connector-java-5.1.23.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.23/mysql-connector-java-5.1.23.jar  
RUN curl -L -o /usr/local/glassfish4/glassfish/lib/mysql-connector-java-5.1.23.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.23/mysql-connector-java-5.1.23.jar  
RUN /usr/local/glassfish4/bin/asadmin restart-domain
Ash A
  • 61
  • 1
  • 5