Reputation: 31
This is my first post on Stackoverflow. I am beginner in JAVA development. my project is running on a local server glassfish but I would like to deploy it on heroku using glassfish-embedded. I have this error when I try to suscribe a new user (communication with DB). I don't know what I can change to fix it. sorry for my bad english.
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
javax.ejb.EJBException
note The full stack traces of the exception and its root causes are available in the Undefined Product Name - define product and version info in config/branding 0.0.0 logs.
Undefined Product Name - define product and version info in config/branding 0.0.0
Please find attached my :
[glassfish-resources.xml]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<jdbc-connection-pool datasource-classname="com.jolbox.bonecp.BoneCPDataSource" name="BoneCpPoolTP" res-type="javax.sql.DataSource" transaction-isolation-level="read-committed" is-isolation-level-guaranteed="true" steady-pool-size="1" max-pool-size="20">
<property name="databaseName" value="heroku_a7c39aa98a99b33"></property>
<property name="Password" value="794817ce"></property>
<property name="serverName" value="glassfish-embedded-all 5.1.0"></property>
<property name="User" value="b3a3555ee6337d"></property>
<property name="portNumber" value="3306"></property>
<property name="URL" value="jdbc:mysql://eu-cdbr-west-03.cleardb.net:3306/heroku_a7c39aa98a99b33"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="host" value="eu-cdbr-west-03.cleardb.net"></property>
<property name="minConnectionsPerPartition" value="1"/>
<property name="maxConnectionsPerPartition" value="20"/>
<property name="acquireIncrement" value="2"/>
<property name="partitionCount" value="1"/>
<property name="idleMaxAgeInMinutes" value="60"/>
<property name="idleMaxAgeInSeconds" value="3600"/>
<property name="connectionTestStatement" value="/* ping *\/ SELECT 1"/>
<property name="statementsCacheSize" value="0"/>
<property name="releaseHelperThreads" value="3"/>
<property name="closeConnectionWatch" value="false"/>
<property name="logStatementsEnabled" value="false"/>
<property name="acquireRetryDelayInMs" value="7000"/>
<property name="lazyInit" value="false"/>
<property name="transactionRecoveryEnabled" value="false"/>
<property name="acquireRetryAttempts" value="5"/>
<property name="disableJMX" value="false"/>
<property name="queryExecuteTimeLimitInMs" value="0"/>
<property name="poolAvailabilityThreshold" value="20"/>
<property name="disableConnectionTracking" value="false"/>
<property name="connectionTimeoutInMs" value="0"/>
<property name="closeConnectionWatchTimeoutInMs" value="0"/>
<property name="statementReleaseHelperThreads" value="0"/>
<property name="maxConnectionAgeInSeconds" value="0"/>
<property name="statisticsEnabled" value="false"/>
<property name="externalAuth" value="false"/>
<property name="deregisterDriverOnClose" value="false"/>
</jdbc-connection-pool>
<jdbc-resource enabled="true" object-type="user" pool-name="BoneCpPoolTP" jndi-name="java:app/jdbc/bonecp_macommande_tp"></jdbc-resource>
</resources>
[startup.main.java]
package com.sdzee.tp.startup;
import java.io.File;
import org.glassfish.embeddable.Deployer;
import org.glassfish.embeddable.GlassFish;
import org.glassfish.embeddable.GlassFishProperties;
import org.glassfish.embeddable.GlassFishRuntime;
import org.glassfish.embeddable.archive.ScatteredArchive;
public class Main {
public static void main(String[] args) throws Exception {
String port = System.getenv("PORT");
port = port != null ? port : "8080";
GlassFishProperties gfProps = new GlassFishProperties();
gfProps.setPort("http-listener", Integer.parseInt(port));
GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish(gfProps);
glassfish.start();
File webRoot = new File("src/main/webapp");
File classRoot = new File("target", "classes");
Deployer deployer = glassfish.getDeployer();
ScatteredArchive archive = new ScatteredArchive("hello", ScatteredArchive.Type.WAR, webRoot);
archive.addClassPath(classRoot);
deployer.deploy(archive.toURI(), "--name=hello", "--contextroot=/");
/* File file = new File("tp10-0.0.1-SNAPSHOT.war");
deployer.deploy(file); */
}
}
[persistence.xml]
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="ma_commande_PU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:app/jdbc/bonecp_macommande_tp</jta-data-source>
<class>com.sdzee.tp.entities.Client</class>
<class>com.sdzee.tp.entities.Commande</class>
<class>com.sdzee.tp.entities.Utilisateur</class>
<!-- <properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://eu-cdbr-west-03.cleardb.net:3306/heroku_a7c39aa98a99b33?reconnect=true&useSSL=false&createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC" />
<property name="javax.persistence.jdbc.user" value="b3a3555ee6337d" />
<property name="javax.persistence.jdbc.password" value="794817ce" />
<property name="eclipselink.deploy-on-startup" value="true"/>
<property name="eclipselink.target-database" value="MySQL"/>
</properties>
-->
</persistence-unit>
</persistence>
[pom.xml]
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sdzee.tp</groupId>
<artifactId>tp10</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>tp10</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.ejb/javax.ejb-api -->
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>javax.ejb-api</artifactId>
<version>3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence -->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/joda-time/joda-time-jsptags -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time-jsptags</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/eu.medsea.mimeutil/mime-util -->
<dependency>
<groupId>eu.medsea.mimeutil</groupId>
<artifactId>mime-util</artifactId>
<version>2.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>13.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jolbox/bonecp -->
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp</artifactId>
<version>0.8.0.RELEASE</version>
</dependency>
<!-- Glassfish embedded pour exécuter l'application web -->
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>5.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax/javaee-web-api -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>8.0</version>
<scope>provided</scope>
</dependency>
<!-- dependencies Heroku -->
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-template-freemarker</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-jdbc</artifactId>
<version>0.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- Un plugin pour générer automatiquement le script de démarrage de l'application -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
<configuration>
<assembleDirectory>target</assembleDirectory>
<programs>
<!-- La classe Main exécute le serveur glassfish embedded, et y déploie l'application -->
<program>
<mainClass>com.sdzee.tp.startup.Main</mainClass>
<id>startup</id>
</program>
</programs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Thank you
Upvotes: 0
Views: 303