EzDevInfo.com

liferay interview questions

Top liferay frequently asked interview questions

To Go or Not To Go with Liferay? What's the good, bad, and ugly? [closed]

We are evaluating several solutions for a new web thing we're looking to build. There are several aspects to it, including user management, content management, campaigns, community, and financial transactions.

We are looking to roll the framework ourselves, using Joomla + Vaadin + CAS (to name a few) to DIY, but I am wondering if we should simply adopt the Liferay portal for one-stop shopping?

I have looked for testimonials and have not come up with much. I appreciate anyone who has used Liferay (or chosen not to) who would share what technical hurdles it solves (or doesn't) and potentially what others it may create.

Thank you!


Source: (StackOverflow)

Restrictions/disadvantages of developing portlets for Liferay [closed]

I'm considering developing an application as portlets, to be integrated in Liferay portal. Are there any significant disadvantages or restrictions in developing such an application, as opposed to developing a normal web application using Spring framework?

Liferay seems to require that all content is added as portlets. Another option I ponder is to use Liferay just for some parts of the application and add external links to other self-developed content, developed as a normal web application. That would, however, create a need of multiple user authentication mechanisms and some kind of cross-site authentication between Liferay and the other web application.

Which is the best way to go?


Source: (StackOverflow)

Advertisements

How to get global (company) group id in Liferay?

How to get the global (company) group id in Liferay without accessing ThemeDisplay?

P.S.: with ThemeDisplay it is simple: themeDisplay.getCompanyGroupId().


Source: (StackOverflow)

How to make Liferay not produce condensed HTML code?

I found that Liferay transfers my JSP code in a somehow "condensed" way -- putting most of the text into a few very long lines.

This makes it uncomfortable to debug javascript.

Is it possible to turn off this feature temporary?


Source: (StackOverflow)

How to add jstl to a Liferay portlet?

I have been looking here in SO and other places and I have not found the exact answer to this question. So here goes:

What is the best way to add support in my Liferay portlets to use JSTL tags?

Of course, I have found generic answers about how to add a taglib to a web app, but not specifically for Liferay.


Source: (StackOverflow)

why settimeout not delay the function execution?

function tryToDownload(url)
{

       oIFrm = document.getElementById('myIFrm');
       oIFrm.src = url;
      // alert(url);
      // url=escape(url);

      setTimeout(deletefile(url), 25000); 
}

following is deletfile function

function deletefile(url){

$.ajax({
    type:'post',
    url: "<%= addToDoDeleteDownloadFile %>",
    data:{filename:url},
    type : "GET",
    timeout : 20000,
    dataType : "text",
    success : function(data) {
        alert("success");

    }
    });
}

above is my jQuery and i m calling one function at the end after 25 second,but some how it's not delaying the deletefile(url) function and execute just after.So what should be the problem?


Source: (StackOverflow)

Testing for custom plugin portlet: BeanLocatorException and Transaction roll-back for services testing

My Problems:

  1. I can test successfully for CRUD services operation. I was doing an insert on @Before [setUp()] and delete of same data on @After [tearDown()] but going forward I would need to support Transactions rather than writing code for insert and delete.
  2. I am successful in fetching single records of my entity but when I fire a search query or try to fetch more than one of my entities I get:

    com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context MyCustom-portlet

I have followed some of the following links to set-up Junit with Liferay:

My Enviroment

  • Liferay 6.0.5 EE bundled with Tomcat

  • Eclipse Helios with Liferay IDE 1.4 using Junit4

  • I am running my tests with "ant" command in eclipse itself but not through typing Alt+Shift+X, T.

It would be really helpful if I can get some idea as to how to go about using Transactions with JUnit (or at least some ideas as to how it works in liferay) and how to resolve the BeanLocatorException (or at least why would it be thrown)

Any help will be greatly appreciated.


Source: (StackOverflow)

How to disable Liferay portlet cache?

I am developing a portlet for Liferay Portal.

I have disabled CSS and JavaScript caching by using these codes in portal-developer.properties file:

theme.css.fast.load=false
theme.images.fast.load=false
javascript.fast.load=false
javascript.log.enabled=true
layout.template.cache.enabled=false
last.modified.check=false
velocity.engine.resource.manager.cache.enabled=false
com.liferay.portal.servlet.filters.cache.CacheFilter=false
com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter=false

But I don't know how to disable portlet caching.

When I update view.jsp file in my portlet directory I have to restart Tomcat to see changes.


Source: (StackOverflow)

Primefaces Dialog Framework Liferay

Primefaces Dialog Framework opens the same portlet page instead of required page.

<p:commandButton value="Dialog" process="@this" icon="ui-icon-extlink" actionListener="#{controller.viewDialog}" />

Bean:

public void viewDialog() {
    Map<String,Object> options = new HashMap<String, Object>();
    options.put("modal", true);
    options.put("draggable", false);
    options.put("resizable", true);
    options.put("contentHeight", 320);

    RequestContext.getCurrentInstance().openDialog("viewDialog", options, null);    

viewDialog.xhtml:

<f:view xmlns="http://www.w3.org/1999/xhtml"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:portlet="http://java.sun.com/portlet_2_0">
<h:head />
<h:body styleClass="jsf2-portlet">
    <f:event type="preRenderView" listener="#{dialog.initController}" />

</h:body>


Source: (StackOverflow)

Hibernate: No CurrentSessionContext configured

I keep getting a :

HibernateException: No CurrentSessionContext configured!

in my code. The only information other searches that returned is that the culprit is:

<property name="current_session_context_class">thread</property>

in my hibernate.cfg.xml. I do have that in my hibernate.cfg.xml file, and I am running this in Tomcat 6. Does anyone know other possible causes?


Source: (StackOverflow)

How to download a file from AJAX request in Liferay serveResource(-, -) method

I have a requirement like: I am making an AJAX request to pass some data to server. In my server I am creating a file using that data.

"Now problem is the file is not getting downloaded to client-side".

(I am using Apache POI API to create excel file from the given data). Can any one will help me to do this ?

Here is my code:

(Code to make AJAX request)

<script>
    function downloadUploadedBacklogs () {

        try {
            var table_data = [];

            var count = jQuery("#backlogTable tr:first td" ).length;
            jQuery("#<portlet:namespace/>noOfColumns").val(count);
            var index = 0;
            jQuery('tr').each(function(){

                var row_data = '';
                jQuery('td', this).each(function(){
                    row_data += jQuery(this).text() + '=';   
                });   
                table_data.push(row_data+";");

            });
            jQuery("#<portlet:namespace/>backlogDataForDownload").val(table_data);
            jQuery("#<portlet:namespace/>cmd").val("downloadUploadedBacklogs");
            alert('cmd: ' + jQuery("#<portlet:namespace/>cmd").val());  
            var formData = jQuery('#<portlet:namespace/>backlogImportForm').serialize();

            jQuery.ajax({
                url:'<%=resourceURL%>',
                data:formData,
                type: "post",
                success: function(data) {

                }
            });
            alert('form submitted');

        } catch(e) {
            alert('eroor: ' + e);
        }
    };
</script>

Java code serveResource(-,-) method

/*
*   serveResource(-, -) method to process the client request
*/
public void serveResource(ResourceRequest resourceRequest,
            ResourceResponse resourceResponse) throws IOException,
            PortletException {


        String cmd = ParamUtil.getString(resourceRequest,"cmd");
        System.out.println("**********************cmd*************"+cmd);

        if(cmd!="") {
            if("downloadUploadedBacklogs".equalsIgnoreCase(cmd)){

                String backlogData = ParamUtil.getString(resourceRequest, "backlogDataForDownload");
                ImportBulkDataUtil.downloadUploaded("Backlogs", resourceRequest,resourceResponse);
            } 
        }
}

/ * ImportBulkDataUtil.downloadUploaded(-, -, -) method to create excel file /

public static void downloadUploaded(String schema, ResourceRequest resourceRequest,ResourceResponse resourceResponse) {

        String excelSheetName = ParamUtil.getString(resourceRequest,"excelSheetName");

        try {
            resourceResponse.setContentType("application/vnd.ms-excel");
            resourceResponse.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename="+excelSheetName+"_Template.xls");

            OutputStream outputStream=resourceResponse.getPortletOutputStream();
            //converting the POI object as excel readble object
            HSSFWorkbook objHSSFWorkbook=new HSSFWorkbook();
            HSSFSheet objHSSFSheet=objHSSFWorkbook.createSheet(excelSheetName+"_Template");

            //set the name of the workbook 
            Name name=objHSSFWorkbook.createName();
            name.setNameName(excelSheetName+"_Template");

            objHSSFSheet.autoSizeColumn((short)2);

            // create freeze pane (locking) top row
            objHSSFSheet.createFreezePane(0, 1);

            // Setting column width
            String excelData = StringPool.BLANK;
            if((schema.equalsIgnoreCase("Backlogs"))){
                System.out.println("Inside BacklogsCreation..........");
                objHSSFSheet.setColumnWidth(0, 10000);
                objHSSFSheet.setColumnWidth(1, 7000);
                objHSSFSheet.setColumnWidth(2, 7000);
                objHSSFSheet.setColumnWidth(3, 7000);
                objHSSFSheet.setColumnWidth(4, 7000);
                objHSSFSheet.setColumnWidth(5, 5000);
                objHSSFSheet.setColumnWidth(6, 5000);
                objHSSFSheet.setColumnWidth(7, 7000);
                objHSSFSheet.setColumnWidth(8, 7000);
                excelData = ParamUtil.getString(resourceRequest,"backlogDataForDownload");
            }
            System.out.println("downloadUploaded excelTableData: " + excelData);

             // Header creation logic

            HSSFRow objHSSFRowHeader = objHSSFSheet.createRow(0);
            objHSSFRowHeader.setHeightInPoints((2*objHSSFSheet.getDefaultRowHeightInPoints()));
            CellStyle objHssfCellStyleHeader = objHSSFWorkbook.createCellStyle();
            objHssfCellStyleHeader.setFillBackgroundColor((short)135);
            objHssfCellStyleHeader.setAlignment(objHssfCellStyleHeader.ALIGN_CENTER);
            objHssfCellStyleHeader.setWrapText(true);

            // Apply font styles to cell styles
            HSSFFont objHssfFontHeader = objHSSFWorkbook.createFont();
            objHssfFontHeader.setFontName("Arial");
            objHssfFontHeader.setColor(HSSFColor.WHITE.index);

            HSSFColor lightGrayHeader =  setColor(objHSSFWorkbook,(byte) 0x00, (byte)0x20,(byte) 0x60);
            objHssfCellStyleHeader.setFillForegroundColor(lightGrayHeader.getIndex());
            objHssfCellStyleHeader.setFillPattern(CellStyle.SOLID_FOREGROUND);

            objHssfFontHeader.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
            objHssfFontHeader.setFontHeightInPoints((short)12);
            objHssfCellStyleHeader.setFont(objHssfFontHeader);
            objHssfCellStyleHeader.setWrapText(true);

            // first column about Backlog title
            HSSFCell objBacklogTitleCell = objHSSFRowHeader.createCell(0);
            objBacklogTitleCell.setCellValue("Backlog");
            objBacklogTitleCell.setCellStyle(objHssfCellStyleHeader);   

            // second column about Description
            HSSFCell objBacklogDescCell = objHSSFRowHeader.createCell(1);
            objBacklogDescCell.setCellValue("Description");
            objBacklogDescCell.setCellStyle(objHssfCellStyleHeader);

            // third column about Project
            HSSFCell objProjectNameCell = objHSSFRowHeader.createCell(2);
            objProjectNameCell.setCellValue("Project");
            objProjectNameCell.setCellStyle(objHssfCellStyleHeader);
            setComment("Project which the backlog belongs to", objProjectNameCell);

            // fourth column about Category
            HSSFCell objCategoryNameCell = objHSSFRowHeader.createCell(3);
            objCategoryNameCell.setCellValue("Category");
            objCategoryNameCell.setCellStyle(objHssfCellStyleHeader);
            setComment("Category which the backlog belongs to (i.e. Bug, New Requirement, Enhancement)", objCategoryNameCell);

            // fifth column about Group
            HSSFCell objGroupNameCell = objHSSFRowHeader.createCell(4);
            objGroupNameCell.setCellValue("Group");
            objGroupNameCell.setCellStyle(objHssfCellStyleHeader);
            setComment("Group which the backlog belongs to", objGroupNameCell);

            // sixth column about Est. Start Date
            HSSFCell objEstStartDtCell = objHSSFRowHeader.createCell(5);
            objEstStartDtCell.setCellValue("Est. Start Date");
            objEstStartDtCell.setCellStyle(objHssfCellStyleHeader);
            setComment("Date Format: dd/mm/yyyy", objEstStartDtCell);

            // seventh column about Est. End Date
            HSSFCell objEstEndDtCell = objHSSFRowHeader.createCell(6);
            objEstEndDtCell.setCellValue("Est. End Date");
            objEstEndDtCell.setCellStyle(objHssfCellStyleHeader);
            setComment("Date Format: dd/mm/yyyy", objEstEndDtCell);

            // fifth column about Group
            HSSFCell objStatusCell = objHSSFRowHeader.createCell(7);
            objStatusCell.setCellValue("Status");
            objStatusCell.setCellStyle(objHssfCellStyleHeader);

            String excelTableDataRecords[] = excelData.split(";");
            for(int i=1; i<excelTableDataRecords.length; i++) {

                HSSFRow objHSSFRow = objHSSFSheet.createRow(i);
                objHSSFRow.setHeightInPoints((2*objHSSFSheet.getDefaultRowHeightInPoints()));

                excelTableDataRecords[i] = excelTableDataRecords[i].substring(0, (excelTableDataRecords[i].length()-2));
                if(excelTableDataRecords[i].charAt(0) == ',') {
                    excelTableDataRecords[i] = excelTableDataRecords[i].substring(1, (excelTableDataRecords[i].length()));
                }
                String excelTableColumns[] = excelTableDataRecords[i].split("::");

                for(int j=0; j<excelTableColumns.length; j++) {

                        // Apply font styles to cell styles
                        HSSFFont objHssfFont = objHSSFWorkbook.createFont();
                        objHssfFont.setFontName("Arial");
                        CellStyle objHssfCellStyle = objHSSFWorkbook.createCellStyle();
                        objHssfFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
                        objHssfFont.setColor(HSSFColor.BLACK.index);
                        objHssfFont.setFontHeightInPoints((short)10);

                        objHssfCellStyle.setWrapText(true);
                        objHssfCellStyle.setFont(objHssfFont);
                        // other column about Backlog title
                        HSSFCell objNewHSSFCellFirstNameAdd = objHSSFRow.createCell(j);
                        objNewHSSFCellFirstNameAdd.setCellValue(excelTableColumns[j]);
                        objNewHSSFCellFirstNameAdd.setCellStyle(objHssfCellStyle);
                }
            }

            objHSSFWorkbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("Exception raised in downloadUploaded() method to download uploaded excel data");
        }
    }

Can anyone help me ?


Source: (StackOverflow)

Steps for Export and Import in Liferay

I have built a website in Liferay using eclipse IDE.

Please tell me the step by step procedure for export/import or publishing website from development machine to deployment machine. .

Thanks


Source: (StackOverflow)

Liferay performance issue

We are facing performance issue with liferay 6.2 after migrating from 6.1.

Almost all our custom as well as liferay's plugin portlet are responding very slow for non admin users.

We observe that permission checks seems to be taking lot of time. Also following query is being hit so many times...

 (
    SELECT DISTINCT Group_.groupId AS groupId
    ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName
    ,Group_.type_ AS groupType
    ,Group_.friendlyURL AS groupFriendlyURL
    FROM Group_
    INNER JOIN Users_Groups ON (Users_Groups.groupId = Group_.groupId)
    WHERE (Group_.liveGroupId = 0)
    AND (Group_.active_ = 1)
    AND (Group_.liveGroupId = 0)
    AND (Users_Groups.userId = 3391488)
    AND (Group_.companyId = 10132)
    AND (
    Group_.classNameId = 10012
    OR Group_.classNameId = 10024
    )
    AND (Group_.parentGroupId != - 1)
    AND (Group_.liveGroupId = 0)
    AND (Group_.NAME != 'Control Panel')
    AND (
    Group_.NAME LIKE NULL
    OR NULL IS NULL
    )
    AND (
    Group_.description LIKE NULL
    OR NULL IS NULL
    )
    AND (Group_.type_ != 4)
    )

    UNION

    (
    SELECT DISTINCT Group_.groupId AS groupId
    ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName
    ,Group_.type_ AS groupType
    ,Group_.friendlyURL AS groupFriendlyURL
    FROM Group_
    INNER JOIN Users_Orgs ON (Users_Orgs.organizationId = Group_.classPK)
    WHERE (Group_.liveGroupId = 0)
    AND (Group_.active_ = 1)
    AND (Users_Orgs.userId = 3391488)
    AND (Group_.companyId = 10132)
    AND (
    Group_.classNameId = 10012
    OR Group_.classNameId = 10024
    )
    AND (Group_.parentGroupId != - 1)
    AND (Group_.liveGroupId = 0)
    AND (Group_.NAME != 'Control Panel')
    AND (
    Group_.NAME LIKE NULL
    OR NULL IS NULL
    )
    AND (
    Group_.description LIKE NULL
    OR NULL IS NULL
    )
    AND (Group_.type_ != 4)
    )

    UNION

    (
    SELECT DISTINCT Group_.groupId AS groupId
    ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName
    ,Group_.type_ AS groupType
    ,Group_.friendlyURL AS groupFriendlyURL
    FROM Group_
    INNER JOIN Groups_Orgs ON (Groups_Orgs.groupId = Group_.groupId)
    INNER JOIN Users_Orgs ON (Users_Orgs.organizationId = Groups_Orgs.organizationId)
    WHERE (Group_.liveGroupId = 0)
    AND (Group_.active_ = 1)
    AND (Group_.liveGroupId = 0)
    AND (Users_Orgs.userId = 3391488)
    AND (Group_.companyId = 10132)
    AND (
    Group_.classNameId = 10012
    OR Group_.classNameId = 10024
    )
    AND (Group_.parentGroupId != - 1)
    AND (Group_.liveGroupId = 0)
    AND (Group_.NAME != 'Control Panel')
    AND (
    Group_.NAME LIKE NULL
    OR NULL IS NULL
    )
    AND (
    Group_.description LIKE NULL
    OR NULL IS NULL
    )
    AND (Group_.type_ != 4)
    )

    UNION

    (
    SELECT DISTINCT Group_.groupId AS groupId
    ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName
    ,Group_.type_ AS groupType
    ,Group_.friendlyURL AS groupFriendlyURL
    FROM Group_
    INNER JOIN Groups_UserGroups ON (Groups_UserGroups.groupId = Group_.groupId)
    INNER JOIN Users_UserGroups ON (Users_UserGroups.userGroupId = Groups_UserGroups.userGroupId)
    WHERE (Group_.liveGroupId = 0)
    AND (Group_.active_ = 1)
    AND (Group_.liveGroupId = 0)
    AND (Users_UserGroups.userId = 3391488)
    AND (Group_.companyId = 10132)
    AND (
    Group_.classNameId = 10012
    OR Group_.classNameId = 10024
    )
    AND (Group_.parentGroupId != - 1)
    AND (Group_.liveGroupId = 0)
    AND (Group_.NAME != 'Control Panel')
    AND (
    Group_.NAME LIKE NULL
    OR NULL IS NULL
    )
    AND (
    Group_.description LIKE NULL
    OR NULL IS NULL
    )
    AND (Group_.type_ != 4)
    )
    ORDER BY groupName ASC

Wondering why liferay is not caching it....


Source: (StackOverflow)

Alternative to Liferay/JSR 168 and 286 Portals?

My team has been writing a dashboard application using Node.js, Twitter Boostrap, Mongo DB, and Mule for an ESB.

Recently an executive asked us to change our approach to a Portal/Portlet container like Liferay.

Some of us on the team have experience with Liferay, and we have pretty negative feelings about it. Dealing with things like full-page refreshes, portlet lifecycles, style and theming issues, and limited DBMS coverage are at the top of our list of complaints.

We see where our executive team is coming from. They have decided that they want to make the dashboard extensible and easy or easier to plug into for other groups.

Is there a solution out there which can balance the modern web expectations of users with the enterprise needs of IT professionals and executives concerned with building and extensible application with something like Liferay? Pluggable widgets are important here.

Node would obviously be our preference with something like Grails as a close second.

Thanks,


Source: (StackOverflow)

Liferay startup takes way too long

I'm new to Liferay developing and I’m facing troubles with the startup of my Liferay Tomcat server. It takes almost 3 minutes (169048 ms) which is unacceptable for development. I’d like to get it down to about one minute.

Here are the specs of my machine:

  • Intel Core Duo T2300 @ 1.66GHz
  • 4GB RAM (3.24GB in use)
  • Windows 7 Enterprise 32 bit with Service Pack 1

I’m using:

  • Liferay 6.1.1-ce-ga2 bundled with Tomcat 7
  • Eclipse IDE Juno Release

In order to speed things up, I’ve:

  • removed all unnecessary portlets from the tomcat\webapps folder.
  • put the Tomcat native library 1.1.24 in the tomcat\bin folder
  • tweaked my portal-ext.properties as shown below
     #disable some filters  
     com.liferay.portal.servlet.filters.sso.cas.CASFilter       = false
     com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter     = false
     com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter = false
     com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter= false
     com.liferay.portal.sharepoint.SharepointFilter             = false
     com.liferay.portal.servlet.filters.gzip.GZipFilter         = false

     #disable indexing  
     index.on.startup=false

Here’s my startup log:


    Jan 30, 2013 8:39:49 AM org.apache.catalina.core.AprLifecycleListener init
    INFO: Loaded APR based Apache Tomcat Native library 1.1.24.
    Jan 30, 2013 8:39:49 AM org.apache.catalina.core.AprLifecycleListener init
    INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
    Jan 30, 2013 8:39:51 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-apr-8080"]
    Jan 30, 2013 8:39:51 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
    Jan 30, 2013 8:39:51 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 2620 ms
    Jan 30, 2013 8:39:51 AM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Jan 30, 2013 8:39:51 AM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.27
    Jan 30, 2013 8:39:51 AM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor C:\Liferay\portal-6.1.1-ce-ga2\tomcat-7.0.27\conf\Catalina\localhost\Hi-portlet.xml
    Jan 30, 2013 8:39:51 AM org.apache.catalina.startup.HostConfig deployDescriptor
    WARNING: A docBase C:\Liferay\portal-6.1.1-ce-ga2\tomcat-7.0.27\webapps\Hi-portlet inside the host appBase has been specified, and will be ignored
    Jan 30, 2013 8:39:51 AM org.apache.catalina.startup.SetContextPropertiesRule begin
    WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Hi-portlet' did not find a matching property.
    Jan 30, 2013 8:39:52 AM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor C:\Liferay\portal-6.1.1-ce-ga2\tomcat-7.0.27\conf\Catalina\localhost\ROOT.xml
    Loading jar:file:/C:/Liferay/portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
    Loading jar:file:/C:/Liferay/portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
    Loading file:/C:/Liferay/portal-6.1.1-ce-ga2/portal-ide.properties
    Loading file:/C:/Liferay/portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/classes/portal-developer.properties
    Loading file:/C:/Liferay/portal-6.1.1-ce-ga2/portal-ext.properties
    Jan 30, 2013 8:39:59 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    08:40:16,321 INFO  [pool-2-thread-1][DialectDetector:71] Determine dialect for HSQL Database Engine 2
    08:40:16,330 WARN  [pool-2-thread-1][DialectDetector:86] Liferay is configured to use Hypersonic as its database. Do NOT use Hypersonic in production. Hypersonic is an embedded database useful for development and demo'ing purposes. The database settings can be changed in portal-ext.properties.
    08:40:16,484 INFO  [pool-2-thread-1][DialectDetector:136] Found dialect org.hibernate.dialect.HSQLDialect
    Starting Liferay Portal Community Edition 6.1.1 CE GA2 (Paton / Build 6101 / July 31, 2012)
    08:41:36,974 INFO  [pool-2-thread-1][BaseDB:452] Database supports case sensitive queries
    08:41:37,828 INFO  [pool-2-thread-1][ServerDetector:154] Server supports hot deploy
    08:41:37,850 INFO  [pool-2-thread-1][PluginPackageUtil:1030] Reading plugin package for the root context
    08:42:19,657 INFO  [pool-2-thread-1][AutoDeployDir:106] Auto deploy scanner started for C:\Liferay\portal-6.1.1-ce-ga2\deploy
    08:42:24,410 INFO  [pool-2-thread-1][HotDeployImpl:178] Deploying Hi-portlet from queue
    08:42:24,415 INFO  [pool-2-thread-1][PluginPackageUtil:1033] Reading plugin package for Hi-portlet
    Jan 30, 2013 8:42:24 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    Jan 30, 2013 8:42:30 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring FrameworkServlet 'Remoting Servlet'
    Jan 30, 2013 8:42:34 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory C:\Liferay\portal-6.1.1-ce-ga2\tomcat-7.0.27\webapps\resources-importer-web
    08:42:35,522 INFO  [pool-2-thread-1][HotDeployImpl:178] Deploying resources-importer-web from queue
    08:42:35,523 INFO  [pool-2-thread-1][PluginPackageUtil:1033] Reading plugin package for resources-importer-web
    Jan 30, 2013 8:42:36 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    Jan 30, 2013 8:42:36 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory C:\Liferay\portal-6.1.1-ce-ga2\tomcat-7.0.27\webapps\welcome-theme
    08:42:36,609 INFO  [pool-2-thread-1][HotDeployEvent:109] Plugin welcome-theme requires resources-importer-web
    08:42:37,305 INFO  [pool-2-thread-1][HotDeployImpl:178] Deploying welcome-theme from queue
    08:42:37,306 INFO  [pool-2-thread-1][PluginPackageUtil:1033] Reading plugin package for welcome-theme
    Jan 30, 2013 8:42:37 AM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring root WebApplicationContext
    08:42:37,787 INFO  [pool-2-thread-1][ThemeHotDeployListener:87] Registering themes for welcome-theme
    08:42:39,764 INFO  [pool-2-thread-1][ThemeHotDeployListener:100] 1 theme for welcome-theme is available for use
    Jan 30, 2013 8:42:40 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-apr-8080"]
    08:42:40,167 INFO  [liferay/hot_deploy-1][HotDeployMessageListener:142] Group or layout set prototype already exists for company liferay.com
    Jan 30, 2013 8:42:40 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-apr-8009"]
    Jan 30, 2013 8:42:40 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 169048 ms

Any suggestions?


Source: (StackOverflow)