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). 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, it SHOULD work. 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. 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) as this project only uses the javax.persistence package and not EclipseLink/Hibernate/DataNucleus specific packages. Pool name: JJobsPool Resource type: java.sql.Driver Driver: MariaDB Driver class: org.mariadb.jdbc.Driver URL: jdbc:mariadb://localhost/your_database user: your_login password: your_password 3) Setup a JDBC resource: JNDI name: jdbc/jjobs Pool name: JJobsPool 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). 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. 5) Setup a JMS connection factory: JNDI name: jms/jjobs-queue-factory Resource type: javax.jms.QueueConnectionFactory 6) Setup JMS message queue: JNDI name: jms/jjobs-email-queue Physical destination name: jjobsSendEmail Resource type: javax.jms.Queue 7) Setup Java Mail session: JNDI name: jjobsSmtpSession Mail host: Default user: Default sender address: noreply@your-domain.example Optional, but more secure/sometimes required advanced properties: mail.smtp.password : mail.smtp.port : mail.smtp.auth : true 8) Setup JMS message queue JNDI name: jms/jjobs-user-activity-log Physical destination name: jjobsUserActivityLog Resource type: javax.jms.Queue 9) In 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 ignored by default.