This page describes how to build the ONAP Portal webapp and the ONAP Portal SDK webapp, and how to deploy webapps to a web server.
It does not cover the process of configuring a virtual machine from scratch.

Required Tools

The computer must have the following software packages installed:

  1. Java
  2. Maven (3.3.3+) currently 3.5.0
  3. nodejs version >=4.x.x; download from https://nodejs.org/
  4. node-gyp with all its requirements (e.g., Python v.2.7.x, GCC, …) as listed at https://github.com/nodejs/node-gyp
  5. grunt-cli installed globally, download from https://github.com/gruntjs/grunt-cli
    1. To install: npm install -g grunt-cli

  6. bower from http://bower.io/
    1. To install: npm install -g bower

Install 3rd Party Packages

  1. In your git working copy, go to the directory ecomp-portal-FE
  2. Clean out the npm cache by running this command:
    npm cache clean
  3. Install all node and grunt dependencies listed in the package.json file by running this command:
    npm install
  4. Install all client dependencies listed in the bower.json file by running this command:
    bower install

Get the Code

Clone the ecomp portal core repository from Gerri.  The URL is something like this (replace 'your_id' of course):

    git clone http://gerrit.onap.org/r/portal

This should create a new folder with subfolders, some for the back-end web server components and others for the front-end pages and scripts:


Build and Deploy the ONAP Portal FE+BE Distribution

After all of the above steps have been performed successfully, use the following procedure to build and deploy the front-end and back-end
distributions to a web server.

Build the FE distribution

In your git working copy, go to the directory ecomp-portal-FE and build the distribution by typing this command:

grunt build --env=dev

Note that the "dev" argument here relies on the file ecomp-portal-FE-os/client/configurations/dev.json, which defines all API endpoints for this build. You can duplicate this file, modify the endpoints and call it whatever you like.

Build the BE distribution

In your git working copy, go to the root directory and build the distribution by typing this command:

mvn clean package

Configure the FE distribution

Before you build, configure your destination environment so the JavaScript minimization creates the correct back end (BE). This configuration is done in ecomp-portal-FE-os/client/configuration/dev.json (or any other file you want). For example:

{
	"api": {
	"userApps": "https://<yourHost>/ecomp_portal/api/userApps",
	"accountAdmins": "https://<yourHost>/ecomp_portal/api/accountAdmins",
	"availableApps": "https://<yourHost>/ecomp_portal/api/availableApps",
	"userProfile": "https://<yourHost>/ecomp_portal/api/userProfile",
	"queryUsers": "https://<yourHost>/ecomp_portal/api/queryUsers",
	"adminAppsRoles": "https://<yourHost>/ecomp_portal/api/adminAppsRoles"
	}
}

Also, copy the bower_components folder from ecomp-portal-FE-os to the folder ecomp-portal-FE-os/client then build as shown above:

grunt build --env=dev

This step will populate the folder ecomp-portal-FE-os/dist with a folder named public. Copy that public folder from comp-portal-FE-os/dist/ to the folder ecomp-portal-BE-os/target/ecompportal/ .

Deploy the ONAP Portal Web Application

Now upload the contents of the folder ecomp-portal-BE-os/target/ecompportal to the web server host, for example on <yourHost>, to /<yourHost>/WebApps/dev/ECOMP_PORTAL/ecomp_portal .

Note the difference between ‘ecomp_portal’ and ‘ecompportal’! The final URL should have the context name ecomp_portal with an underscore.

Restart tomcat and visit the appropriate page; e.g., https://<yourHost>:8989/ECOMPPORTAL/login.htm

  • No labels

7 Comments

  1. Is there a simple way to change a portal container/VM from "http://portal.api.simpledemo.openecomp.org" to some other hostname like "http://portal.api.test1234.mydomain.org" ? It seems from this page that I would have to clone the source to the container or VM , build it and then copy the files into the container. Is that correct or is there a simpler way ?

  2. Got a question from Shuhra - the repos listed above are non-onap (they look like internal tracking ones)

    git clone https://<your_id>@<yourGitRepositoryHost>/scm/st_quantum/ecomp_portal_core.git -b 1607_master

    Fixed - thanks guys for the quick fix

    1. what is your_id  and Youergitrepositoryhost means?

  3. As per the above steps, I have deployed the portal application in tomcat 8.5.24. And I am able to load the login page. However when I try to login with username: 'demo' and pwd: 'demo', I am receiving the error as "Invalid username or password". And I am able to see this credentials in fn_user table of portal database. Also I am unable to see any error entries in application.log file (available under /tomcat/logs/ecompportal). Anyone please guide me on this

    1. Got the password "demo123456!". And able to login

  4. Hello,

    I was trying to deploy this locally and when I am trying to open the home page it seems to have DB connection issue. Can someone help?

    properties:

    https://gerrit.onap.org/r/gitweb?p=portal.git;a=blob;f=ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties;h=5e8aa1a3287d84f810e6f23191db7e6629faef16;hb=HEAD

    43 db.connectionURL = jdbc:mariadb:failover://demeter.homer.att.com:3306/ecomp_portal_1710_os

    URL that I am trying to open: http://localhost:8080/portal-be-os/login.htm

    Exception from tomcat logs:

    08-Feb-2018 12:56:08.399 SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet dispatcher

     java.lang.NegativeArraySizeException

            at org.mariadb.jdbc.internal.util.buffer.Buffer.readString(Buffer.java:84)

            at org.mariadb.jdbc.internal.packet.read.ReadInitialConnectPacket.<init>(ReadInitialConnectPacket.java:92)

            at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:462)

            at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:382)

            at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:341)

            at org.mariadb.jdbc.internal.protocol.MasterProtocol.loop(MasterProtocol.java:124)

            at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.reconnectFailedConnection(MastersFailoverListener.java:214)

            at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.initializeConnection(MastersFailoverListener.java:99)

            at org.mariadb.jdbc.internal.failover.FailoverProxy.<init>(FailoverProxy.java:96)

            at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:464)

            at org.mariadb.jdbc.Driver.connect(Driver.java:104)

  5. Hi,

    Is this build instruction up to date?

    I am having a really hard time in running the application locally, can someone please help? I followed above mentioned steps.

    on last step(while deploying it to tomcat), I am getting below error.


    Aug 10, 2018 1:55:41 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:portal-be-os' did not find a matching property.
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version:        Apache Tomcat/8.5.32
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built:          Jun 20 2018 19:50:35 UTC
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number:         8.5.32.0
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name:               Windows 10
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version:            10.0
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture:          amd64
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_121\jre
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version:           1.8.0_121-b13
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor:            Oracle Corporation
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE:         C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME:         C:\APPS\apache-tomcat-8.5.32-windows-x64\apache-tomcat-8.5.32
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=C:\APPS\apache-tomcat-8.5.32-windows-x64\apache-tomcat-8.5.32
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dwtp.deploy=C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.endorsed.dirs=C:\APPS\apache-tomcat-8.5.32-windows-x64\apache-tomcat-8.5.32\endorsed
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dfile.encoding=Cp1252
    Aug 10, 2018 1:55:41 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jdk1.8.0_121/jre/bin/server;C:/Program Files/Java/jdk1.8.0_121/jre/bin;C:/Program Files/Java/jdk1.8.0_121/jre/lib/amd64;racle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin;C:\Program Files (x86)\Kubernetes\kubectl;C:\Program Files (x86)\Kubernetes\Minikube;;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\Java\jdk1.8.0_121\bin;%JRE_HOME%\bin;C:\APPS\apache-maven-3.5.0-bin\apache-maven-3.5.0\bin;C:\Users\AmareshKumar\AppData\Local\Microsoft\WindowsApps;C:\APPS\sonar-scanner-3.0.3.778-windows\bin;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\AmareshKumar\AppData\Roaming\npm;C:\Users\AmareshKumar\AppData\Local\Programs\Python\Python36-32\;C:\Users\AmareshKumar\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Program Files (x86)\Kubernetes\kubectl\\kubectl.exe;C:\Program Files (x86)\Kubernetes\Minikube\\minikube.exe;;C:\Users\AmareshKumar\Desktop;;.]
    Aug 10, 2018 1:55:41 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-nio-8080"]
    Aug 10, 2018 1:55:41 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Aug 10, 2018 1:55:41 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
    Aug 10, 2018 1:55:41 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    INFO: Using a shared selector for servlet write/read
    Aug 10, 2018 1:55:41 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1243 ms
    Aug 10, 2018 1:55:42 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service [Catalina]
    Aug 10, 2018 1:55:42 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/8.5.32
    Aug 10, 2018 1:55:49 PM org.apache.jasper.servlet.TldScanner scanJars
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    Aug 10, 2018 1:56:22 PM org.apache.jasper.servlet.TldScanner scanJars
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    13:56:23,286 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/portal-be-os/WEB-INF/classes/logback.xml]
    13:56:23,301 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 3 seconds
    13:56:23,322 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
    13:56:23,337 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
    13:56:23,369 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,572 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
    13:56:23,587 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EELF]
    13:56:23,634 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1027517990 - Will use zip compression
    13:56:23,634 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1027517990 - Will use the pattern C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/application.log.%d{yyyy-MM-dd} for the active file
    13:56:23,650 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/application.log.%d{yyyy-MM-dd}.zip'.
    13:56:23,650 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
    13:56:23,665 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Fri Aug 10 13:08:43 IST 2018
    13:56:23,665 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,697 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELF] - Active log file name: C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/application.log
    13:56:23,697 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELF] - File property is set to [C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/application.log]
    13:56:23,712 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
    13:56:23,712 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [asyncEELF]
    13:56:23,712 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EELF] to ch.qos.logback.classic.AsyncAppender[asyncEELF]
    13:56:23,712 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELF] - Attaching appender named [EELF] to AsyncAppender.
    13:56:23,712 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELF] - Setting discardingThreshold to 51
    13:56:23,712 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
    13:56:23,712 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EELFAudit]
    13:56:23,728 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@136010869 - Will use zip compression
    13:56:23,728 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@136010869 - Will use the pattern C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/audit.log.%d{yyyy-MM-dd} for the active file
    13:56:23,728 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/audit.log.%d{yyyy-MM-dd}.zip'.
    13:56:23,728 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
    13:56:23,728 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Fri Aug 10 13:07:25 IST 2018
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,728 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFAudit] - Active log file name: C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/audit.log
    13:56:23,728 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFAudit] - File property is set to [C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/audit.log]
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [asyncEELFAudit]
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EELFAudit] to ch.qos.logback.classic.AsyncAppender[asyncEELFAudit]
    13:56:23,728 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFAudit] - Attaching appender named [EELFAudit] to AsyncAppender.
    13:56:23,728 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFAudit] - Setting discardingThreshold to 51
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
    13:56:23,728 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EELFMetrics]
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@434263633 - Will use zip compression
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@434263633 - Will use the pattern C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/metrics.log.%d{yyyy-MM-dd} for the active file
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/metrics.log.%d{yyyy-MM-dd}.zip'.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Fri Aug 10 13:07:25 IST 2018
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,744 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFMetrics] - Active log file name: C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/metrics.log
    13:56:23,744 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFMetrics] - File property is set to [C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/metrics.log]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [asyncEELFMetrics]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EELFMetrics] to ch.qos.logback.classic.AsyncAppender[asyncEELFMetrics]
    13:56:23,744 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFMetrics] - Attaching appender named [EELFMetrics] to AsyncAppender.
    13:56:23,744 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFMetrics] - Setting discardingThreshold to 51
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EELFError]
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1313141254 - Will use zip compression
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1313141254 - Will use the pattern C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/error.log.%d{yyyy-MM-dd} for the active file
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/error.log.%d{yyyy-MM-dd}.zip'.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Fri Aug 10 13:07:25 IST 2018
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,744 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFError] - Active log file name: C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/error.log
    13:56:23,744 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFError] - File property is set to [C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/error.log]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [asyncEELFError]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EELFError] to ch.qos.logback.classic.AsyncAppender[asyncEELFError]
    13:56:23,744 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFError] - Attaching appender named [EELFError] to AsyncAppender.
    13:56:23,744 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFError] - Setting discardingThreshold to 51
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [EELFDebug]
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1997720856 - Will use zip compression
    13:56:23,744 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1997720856 - Will use the pattern C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/debug.log.%d{yyyy-MM-dd} for the active file
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/AmareshKumar/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/logs/onapportal/debug.log.%d{yyyy-MM-dd}.zip'.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
    13:56:23,744 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Fri Aug 10 13:07:25 IST 2018
    13:56:23,744 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
    13:56:23,759 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFDebug] - Active log file name: C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/debug.log
    13:56:23,759 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[EELFDebug] - File property is set to [C:\Users\AmareshKumar\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/logs/onapportal/debug.log]
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [asyncEELFDebug]
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [EELFDebug] to ch.qos.logback.classic.AsyncAppender[asyncEELFDebug]
    13:56:23,759 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFDebug] - Attaching appender named [EELFDebug] to AsyncAppender.
    13:56:23,759 |-INFO in ch.qos.logback.classic.AsyncAppender[asyncEELFDebug] - Setting discardingThreshold to 51
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.att.eelf] to INFO
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.att.eelf] to false
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELF] to Logger[com.att.eelf]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.att.eelf.audit] to INFO
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.att.eelf.audit] to false
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELFAudit] to Logger[com.att.eelf.audit]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.att.eelf.metrics] to INFO
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.att.eelf.metrics] to false
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELFMetrics] to Logger[com.att.eelf.metrics]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.att.eelf.error] to INFO
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.att.eelf.error] to false
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELFError] to Logger[com.att.eelf.error]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.att.eelf.debug] to DEBUG
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.att.eelf.debug] to false
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELFDebug] to Logger[com.att.eelf.debug]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
    13:56:23,759 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [asyncEELF] to Logger[ROOT]
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
    13:56:23,759 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@739d824b - Registering current configuration as safe fallback point
    13:56:22,755 |-INFO in ch.qos.logback.classic.servlet.LogbackServletContainerInitializer@11a1b80b - Adding an instance of  class ch.qos.logback.classic.servlet.LogbackServletContextListener to the current web-app
    Aug 10, 2018 1:56:24 PM org.apache.catalina.core.ApplicationContext log
    INFO: Spring WebApplicationInitializers detected on classpath: [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration@564caf99, org.onap.portalapp.conf.ExternalAppInitializer@27147f6d, org.onap.portalapp.config.SecurityInitializer@2a7eb8a3]
    Aug 10, 2018 1:56:24 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring FrameworkServlet 'dispatcher'
    log4j:WARN No appenders could be found for logger (org.jboss.logging).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    Aug 10, 2018 1:57:51 PM org.apache.catalina.core.ApplicationContext log
    SEVERE: StandardWrapper.Throwable
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalAppConfig': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.UserRolesService org.onap.portalapp.conf.ExternalAppConfig.userRolesService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRolesService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.ApplicationsRestClientService org.onap.portalapp.portal.service.UserRolesCommonServiceImpl.applicationsRestClientService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationsRestClientService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:838)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
        at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667)
        at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:539)
        at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493)
        at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
        at javax.servlet.GenericServlet.init(GenericServlet.java:158)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:986)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4978)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5290)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.UserRolesService org.onap.portalapp.conf.ExternalAppConfig.userRolesService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRolesService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.ApplicationsRestClientService org.onap.portalapp.portal.service.UserRolesCommonServiceImpl.applicationsRestClientService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationsRestClientService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
        ... 26 more
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRolesService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.ApplicationsRestClientService org.onap.portalapp.portal.service.UserRolesCommonServiceImpl.applicationsRestClientService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationsRestClientService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
        ... 28 more
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.ApplicationsRestClientService org.onap.portalapp.portal.service.UserRolesCommonServiceImpl.applicationsRestClientService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationsRestClientService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
        ... 39 more
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationsRestClientService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
        ... 41 more
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.onap.portalapp.portal.service.AppsCacheService org.onap.portalapp.portal.service.ApplicationsRestClientServiceImpl.appsCacheService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
        ... 52 more
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appsCacheService': Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
        ... 54 more
    Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:544)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
        at com.sun.proxy.$Proxy105.getList(Unknown Source)
        at org.onap.portalapp.portal.service.EPAppCommonServiceImpl.getAppsFullList(EPAppCommonServiceImpl.java:176)
        at org.onap.portalapp.portal.service.EPAppCommonServiceImpl$$FastClassBySpringCGLIB$$8cda7600.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:718)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:654)
        at org.onap.portalapp.portal.service.EPAppServiceImpl$$EnhancerBySpringCGLIB$$268432b6.getAppsFullList(<generated>)
        at org.onap.portalapp.portal.service.AppsCacheServiceImple.refreshAppsMap(AppsCacheServiceImple.java:84)
        at org.onap.portalapp.portal.service.AppsCacheServiceImple.init(AppsCacheServiceImple.java:72)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:354)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:305)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
        ... 66 more
    Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
        at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:235)
        at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:171)
        at org.hibernate.internal.SessionImpl.connection(SessionImpl.java:450)
        at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:450)
        ... 91 more
    Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
        at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:692)
        at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
        at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
        at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
        at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
        ... 94 more
    Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
        at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1469)
        at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
        at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
        ... 98 more
    Caused by: java.sql.SQLNonTransientConnectionException: No active connection found for master : Could not connect to HostAddress{host='demeter.homer.att.com', port=3306, type='master'}.demeter.homer.att.com
        at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:137)
        at org.mariadb.jdbc.internal.util.ExceptionMapper.getException(ExceptionMapper.java:101)
        at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:91)
        at org.mariadb.jdbc.Driver.connect(Driver.java:109)
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
        at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
    Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: No active connection found for master : Could not connect to HostAddress{host='demeter.homer.att.com', port=3306, type='master'}.demeter.homer.att.com
        at org.mariadb.jdbc.internal.protocol.MasterProtocol.loop(MasterProtocol.java:144)
        at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.reconnectFailedConnection(MastersFailoverListener.java:214)
        at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.initializeConnection(MastersFailoverListener.java:99)
        at org.mariadb.jdbc.internal.failover.FailoverProxy.<init>(FailoverProxy.java:96)
        at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:464)
        at org.mariadb.jdbc.Driver.connect(Driver.java:104)
        ... 9 more
    Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not connect to HostAddress{host='demeter.homer.att.com', port=3306, type='master'}.demeter.homer.att.com
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:346)
        at org.mariadb.jdbc.internal.protocol.MasterProtocol.loop(MasterProtocol.java:124)
        ... 14 more
    Caused by: java.net.UnknownHostException: demeter.homer.att.com
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:373)
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:341)
        ... 15 more

    Aug 10, 2018 1:57:51 PM org.apache.catalina.core.StandardContext loadOnStartup
    SEVERE: Servlet [dispatcher] in web application [/portal-be-os] threw load() exception
    java.net.UnknownHostException: demeter.homer.att.com
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:373)
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:341)
        at org.mariadb.jdbc.internal.protocol.MasterProtocol.loop(MasterProtocol.java:124)
        at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.reconnectFailedConnection(MastersFailoverListener.java:214)
        at org.mariadb.jdbc.internal.failover.impl.MastersFailoverListener.initializeConnection(MastersFailoverListener.java:99)
        at org.mariadb.jdbc.internal.failover.FailoverProxy.<init>(FailoverProxy.java:96)
        at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:464)
        at org.mariadb.jdbc.Driver.connect(Driver.java:104)
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
        at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

    Aug 10, 2018 1:57:51 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-nio-8080"]
    Aug 10, 2018 1:57:51 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-nio-8009"]
    Aug 10, 2018 1:57:51 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 129456 ms
    Aug 10, 2018 1:57:52 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [jsp] in context with path [/portal-be-os] threw exception
    java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener or DispatcherServlet registered?
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)