Skip to content
Snippets Groups Projects
Commit 8ef2b732 authored by Emmanuel Bruno's avatar Emmanuel Bruno
Browse files

improves H2 docker images, URL, port, Psql compatibility.

parent 2bbd936b
No related branches found
No related tags found
No related merge requests found
...@@ -15,23 +15,14 @@ services: ...@@ -15,23 +15,14 @@ services:
depends_on: depends_on:
- db - db
db: db:
image: oscarfonts/h2:1.4.199 image: brunoe/h2:develop
ports: ports:
- "1521:1521" - "8082:8082"
- "8081:81" - "9092:9092"
environment: environment:
H2_OPTIONS: '-ifNotExists' H2_OPTIONS: '-ifNotExists -webAllowOthers -tcpAllowOthers -pgAllowOthers -ifNotExists'
volumes: volumes:
- h2data:/opt/h2-data - h2data:/h2-data
# db:
# image: brunoe/h2
# ports:
# - "8081:8082"
# - "1521:8092"
# environment:
# H2_OPTIONS: '-ifNotExists -webAllowOthers -tcpAllowOthers -pgAllowOthers -ifNotExists'
# volumes:
# - h2data:/h2-data
volumes: volumes:
h2data: h2data:
\ No newline at end of file
...@@ -8,7 +8,7 @@ RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \ ...@@ -8,7 +8,7 @@ RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
mvn -B clean package mvn -B clean package
### Then we add the builded war to a JEE server. ### Then we add the builded war to a JEE server.
FROM payara/server-full:5.2021.9-jdk11 FROM payara/server-full:5.2021.9-jdk11 as server
ARG STORE_PASSWORD=changeit ARG STORE_PASSWORD=changeit
## Download the JDBC driver ## Download the JDBC driver
USER root USER root
...@@ -29,8 +29,8 @@ COPY --from=build /app/utils/src/main/resources/mycert-pub.p12 /app/utils/src/m ...@@ -29,8 +29,8 @@ COPY --from=build /app/utils/src/main/resources/mycert-pub.p12 /app/utils/src/m
RUN keytool -importkeystore -noprompt -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/keystore.jks -srckeystore /tmp/mycert.p12 -srcstoretype PKCS12 -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12 && \ RUN keytool -importkeystore -noprompt -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/keystore.jks -srckeystore /tmp/mycert.p12 -srcstoretype PKCS12 -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12 && \
keytool -importcert -noprompt -trustcacerts -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/cacerts.jks -file /tmp/mycert.crt -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12 keytool -importcert -noprompt -trustcacerts -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/cacerts.jks -file /tmp/mycert.crt -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12
# COPY target/*.war $DEPLOY_DIR FROM server as production
#COPY --from=build /app/restApp/target/*.war \ COPY --from=build /app/restApp/target/*.war \
# $DEPLOY_DIR $DEPLOY_DIR
#COPY --from=build /app/wsApp/target/*.war \ COPY --from=build /app/wsApp/target/*.war \
# $DEPLOY_DIR $DEPLOY_DIR
set-hazelcast-configuration --enabled=true --dynamic=true set-hazelcast-configuration --enabled=true --dynamic=true
add-library /tmp/h2.jar add-library /tmp/h2.jar
# create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:1521/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH" H2-pool create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE" H2-pool
create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:1521/payara" H2-pool
create-jdbc-resource --connectionpoolid H2-pool jdbc/h2-pool create-jdbc-resource --connectionpoolid H2-pool jdbc/h2-pool
# set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=mycert # set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=mycert
package fr.univtln.bruno.samples.jee91.dao; package fr.univtln.bruno.samples.jee91.dao;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.xml.bind.annotation.XmlRootElement;
@Entity @Entity
@NamedQueries({ @NamedQueries({
...@@ -10,6 +11,7 @@ import jakarta.persistence.*; ...@@ -10,6 +11,7 @@ import jakarta.persistence.*;
name = "Person.findAllOrderedByName", name = "Person.findAllOrderedByName",
query = "SELECT p FROM Person p ORDER BY p.name") query = "SELECT p FROM Person p ORDER BY p.name")
}) })
@XmlRootElement
public class Person { public class Person {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<class>fr.univtln.bruno.samples.jee91.dao.Person</class> <class>fr.univtln.bruno.samples.jee91.dao.Person</class>
<properties> <properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create" /> <property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" />
<property name="javax.persistence.schema-generation.scripts.action" value="drop-and-create" /> <property name="jakarta.persistence.schema-generation.scripts.action" value="drop-and-create" />
<property name="javax.persistence.schema-generation.scripts.create-target" value="sampleCreate.ddl" /> <property name="jakarta.persistence.schema-generation.scripts.create-target" value="sampleCreate.ddl" />
<property name="javax.persistence.schema-generation.scripts.drop-target" value="sampleDrop.ddl" /> <property name="jakarta.persistence.schema-generation.scripts.drop-target" value="sampleDrop.ddl" />
<!--property name="javax.persistence.sql-load-script-source" value="insert.sql" /--> <property name="jakarta.persistence.sql-load-script-source" value="insert.sql" />
</properties> </properties>
</persistence-unit> </persistence-unit>
</persistence> </persistence>
\ No newline at end of file
INSERT INTO "public"."person" ("name") VALUES ('pierre');
INSERT INTO "public"."person" ("name") VALUES ('Marie');
INSERT INTO "public"."person" ("name") VALUES ('jacques');
INSERT INTO "public"."person" ("name") VALUES ('Annie');
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment