]> git.mxchange.org Git - addressbook.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Thu, 10 Nov 2022 14:00:59 +0000 (15:00 +0100)
committerRoland Häder <roland@mxchange.org>
Thu, 10 Nov 2022 14:02:35 +0000 (15:02 +0100)
- described more detailed what you have to do and why

INSTALL.txt

index 40b4dad46e1ccf64a64df90ea22a9e3ca118718d..56309d2c5db075a67053bec92d3166b967f6a3c2 100644 (file)
@@ -1,11 +1,34 @@
 Installation instructions:
 ==========================
 
+0) Make sure to have Payara 4.1.2.181 installed AND have javax.faces.jar
+   REPLACED with version 2.3.9 (2.4.0 seem to be a little to new) as the WAR
+   project requires JSF 2.3 (not JSF 2.2 what is shipped with Payara).
+   Paraya is currently required as a @NamedCache annotation alongside @Inject
+   is being used to inject the cache into the backing bean.
+
+   The server.log should reveal a line with "Initializing Mojarra 2.3.9". If
+   that is the case, half way is done and you can continue. Hint: "grep" on it!
+
+   A common mistake is to copy the required JARs not to ~/personal_domain/lib/
+   (or where ever your domain's lib path is) as the required JARs varies from
+   EJB/WAR project. The easiest but single-host deployment is to build the EAR
+   project by doing a "ant dist" in THIS project's root directory.
+
+   For the EJB projects, any EJB 3.0/JPA 2.2 container SHOULD work, Payara 4.1
+   has been tested/used by myself.
+
 1) Create an empty database and setup proper permissions and user account. You
    should create a separate database and user for each project you are going to
    run on it for maximum security.
 
-2) Setup a JDBC pool. I took the simple driver:
+2) Setup a JDBC pool. This is an example for a MariaDB JDBC driver, a SQLite3
+   database resource works surely differently (other URL, user/password can be
+   anything non-empty). I would recommend SQLite3 for development (up to 1 mio.
+   records with almost no performance drop) and MariaDB/PostreSQL (later not
+   tested by myself) or any other DBMS (including MongoDB) for the "productive"
+   installation as this project only imports from the javax.persistence package
+   and not EclipseLink/Hibernate/DataNucleus specific packages.
 
 Pool name: AddressbookPool
 Resource type: java.sql.Driver
@@ -21,10 +44,11 @@ password: your_password
 JNDI name: jdbc/addressbook
 Pool name: AddressbookPool
 
-4) In juser-core project you will find a JAR named "commons-codec-1.10.jar" you
-   need to copy this to your $GLASSFISH_DOMAIN/lib/ path to make password
-   encryption working. Please setup sufficient access rights (CHMOD 0644 is
-   enough).
+4) You DO have to copy A LOT JARs from my project's directories, including my
+   custom JARs as they contain the entity classes, custom exceptions, utility
+   classes, event classes/interfaces and many required more. Plus you also
+   need to copy all 3rd-party JARs or else it will end with the all-famous
+   NoClassDefError.
 
    If you forgot this file to copy and you have copied it now, please restart
    the Glassfish server so the JAR can be found and loaded.
@@ -49,6 +73,7 @@ Default sender address: noreply@your-domain.example
 
 Optional, but more secure/sometimes required advanced properties:
 
+mail.smtp.host : <hostname> (localhost is default)
 mail.smtp.password : <email password>
 mail.smtp.port : <email port>
 mail.smtp.auth : true
@@ -58,3 +83,9 @@ mail.smtp.auth : true
 JNDI name: jms/addressbook-user-activity-log
 Physical destination name: addressbookUserActivityLog
 Resource type: javax.jms.Queue
+
+9) From the WAR project, copy local_xx_XX.properties-dist to
+   local_de_DE.properties and local_en_US.properties. If for example your
+   application uses product_categories from jproduct-core, you may want to add
+   your custom i18n strings to the local properties files as this doesn't cause
+   any later merge conflicts as they are added to .gitignore file.