« Torna a Starting with...

Database Configuration

Introduction #

Liferay comes with a default database called HSQL or "hypersonic." This is not meant for production use however! You need to switch to a real database to use Liferay. This page documents how to change the default database system.

Liferay 6.0 & 6.1 #

Database configuration in 6.0, 6.1 is the same as 5.2. Find your corresponding JDBC settings for your database, and put them into portal-ext.properties file, which can be found at

${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes
where CATALINA_HOME variable is the liferay-portal-${liferay-version}/tomcat-${tomcat-version} directory

If it doesn't exist, you need to create it. For a full list of database-related portal-properties that you can paste in to make your database work, see Database Portal Properties. For more information, please read the Liferay 5.2 section which contains more details in case you need advanced configuration.

Liferay 5.2 #

In versions 5.2 and after, the configuration of the database is set in a single file, portal-ext.properties, for all application servers. Add the example below to set up MySQL.

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=
jdbc.default.password=

As of 5.2.2 you can use the connection pools provided by the application server by specifying the JNDI name to be used in portal-ext.properties using the following property:

jdbc.default.jndi.name=jdbc/LiferayPool

This re-establishes the way connections are handled to the behaviour of version 5.1.x

If you do not have an existing portal-ext.properties file, you can create one and save it to:

{liferay-home}\{tomcat}\webapps\ROOT\WEB-INF\classes

for Tomcat. (To find out where to put portal-ext.properties for other app servers, please refer to the Portal Administrator's Guide.)

The portal.properties file has examples for all the main databases supported. However, if you are using the bundled / download version of Liferay (instead of building from source), you will not be able to find portal.properties in your installation. (Refer to page 127 of the Portal Administrator's Guide Second Edition for an explanation why this is the case.) Instead, you can find a copy of portal.properties here for reference:

http://svn.liferay.com/repos/public/portal/branches/5.2.x/portal-impl/src/portal.properties

Again, once you've referenced portal.properties to understand what settings are available, make the appropriate additions to your portal-ext.properties file.

Note that this system uses the apache commons pool for pooling connections to the database. If you prefer to use the pooling mechanism provided by the portal application server you can still do that through spring. In particular add this to the ext-spring.xml file:

<bean id="liferayDataSource"
class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
       <property name="targetDataSource">
               <bean
class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean">
                       <property name="jndiName" value="jdbc/LiferayPool" />
               </bean>
       </property>
</bean>

This file can be found in your extension environment. If you are not using this environment just create an Spring configuration file with that name and add it to the META-INF dir of your installation.

For GlassFish Application server:

Set other properties e.g. using application server web admin interface. Idle Timeout = ?? seconds (less than timeout of your database server configuration)

Connection Validation (Validate connections, allow server to reconnect in case of failure)

Required=True
Validation Method=Table
Table Name=User_

For MySql, make sure you create the database first;

create database lportal character set utf8;

Note : Note that all these instructions apply to the core Liferay installation, but some installed plugins (for example WOL in Liferay 5.2) may have its own database configuration. See http://www.liferay.com/community/forums/-/message_boards/message/4526420 for a discussion specific to the WOL plugin.

Liferay 5.1 and prior #

In Liferay v5.1 and before, the configuration was specific for each application server. This section explains how to configure tomcat by modifying the ROOT.xml file. For other application servers please check their documentation.

ROOT.xml can be found in tomcat\conf\Catalina\localhost\ROOT.xml. for reference, at the end of this article I have included an excerpt of ROOT.xml from Liferay 4.3.x

Notice there are sample entries in this file for many different databases. By default, Liferay uses Hypersonic (lightweight db used for development purposes). Notice that all entries are commented out except for the Hypersonic entry. Since we want to change Liferay to point to MySQL, we will simply

1) Comment out the Hypersonic entry,

<!-- Hypersonic -->

<!--<Resource
	name="jdbc/LiferayPool"
	auth="Container"
	type="javax.sql.DataSource"
	driverClassName="org.hsqldb.jdbcDriver"
	url="jdbc:hsqldb:lportal"
	username="sa"
	password=""
	maxActive="20"
/>-->

2) and uncomment the MySQL entry (or which ever entry you need for your database).

<!-- MySQL -->

<Resource
	name="jdbc/LiferayPool"
	auth="Container"
	type="javax.sql.DataSource"
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost/lportal?useUnicode=true&amp;characterEncoding=UTF-8"
	username=""
	password=""
	maxActive="20"
/>

make sure that you change the value for url to point to your MySQL database url, and also fill in a username and password.

Including the JDBC driver #

The next step is to make sure that tomcat has the appropriate JDBC driver so that it can 'talk' to this database. You can find these drivers online, however, for your convenience, we have included the MySQL driver (along with many others) in the portal code at the following path:

portal\lib\development\mysql.jar

For Liferay 5.1.1, if you are using Oracle 9i, then there are some issues with ojdbc14.jar. Instead of that use other jars like ojdbc14_g.jar for connecting to database.

If we are..

  • developing in the EXT environment, we need to copy the JDBC driver to this path:
    • ext\ext-lib\global\mysql.jar
  • developing directly from Portal Core (not recommended), copy the driver here:
    • portal\lib\global\mysql.jar
  • only using the Tomcat bundle, copy the driver here:
    • tomcat\common\lib\ext\mysql.jar

Creating the database and tables #

You will first need to create the database, make sure that this matches the value in the url of your ROOT.xml.

For most versions of Liferay, you will have 2 sets of sql scripts, one which will create the Liferay tables with sample data (the Liferay public website) or with just the bare minimal data. You can find both sets of scripts in the portal code:

portal\sql\portal\portal-mysql.sql

and

portal\sql\portal-minimal\portal-minimal-mysql.sql

If you..

Manually creating the table #

Run the appropriate script against your database.

Automatically creating the tables #

Starting in 4.3, you only need to create the database and Liferay will automatically run the appropriate script to create all the necessary tables for you.

in portal.properties, there is a property that you can set which will determine if the portal will create a minimal version of Liferay or a version which is pre-populated with sample data.

##
## Schema
##

    #
    # Set this to true to automatically create tables and populate with default
    # data if the database is empty.
    #
    schema.run.enabled=true

    #
    # Set this to to true to populate with the minimal amount of data. Set this
    # to false to populate with a larger amount of sample data.
    #
    schema.run.minimal=false

If you wanted Liferay to automatically create only the necessary Liferay tables for you, then add the following values in your portal-ext.properties (tomcat\webapps\ROOT\WEB-INF\classes\portal-ext.properties)

    schema.run.enabled=true
    schema.run.minimal=true

Reference #

Excerpt of ROOT.xml in 4.3.x #

<Context path="" crossContext="true">

	<!-- DB2 -->

	<!--<Resource
		name="jdbc/LiferayPool"
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="com.ibm.db2.jcc.DB2Driver"
        url="jdbc:db2:lportal"
        username="db2admin"
        password="lportal"
        maxActive="20"
	/>-->

	<!-- Derby -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
		url="jdbc:derby:lportal"
		username=""
		password=""
		maxActive="20"
	/>-->

	<!-- Hypersonic -->

	<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="org.hsqldb.jdbcDriver"
		url="jdbc:hsqldb:lportal"
		username="sa"
		password=""
		maxActive="20"
	/>

	<!-- MySQL -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost/lportal?useUnicode=true&amp;characterEncoding=UTF-8"
		username=""
		password=""
		maxActive="20"
	/>-->

	<!-- Oracle -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="oracle.jdbc.driver.OracleDriver"
		url="jdbc:oracle:thin:@localhost:1521:orcl"
		username="lportal"
		password="lportal"
		maxActive="20"
	/>-->

	<!-- P6Spy -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="com.p6spy.engine.spy.P6SpyDriver"
		url="jdbc:mysql://localhost/lportal?useUnicode=true&amp;characterEncoding=UTF-8"
		username=""
		password=""
		maxActive="20"
	/>-->

	<!-- PostgreSQL -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="org.postgresql.Driver"
		url="jdbc:postgresql://localhost:5432/lportal"
		username="sa"
		password=""
		maxActive="20"
	/>-->

	<!-- SQL Server -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="net.sourceforge.jtds.jdbc.Driver"
		url="jdbc:jtds:sqlserver://localhost/lportal"
		username="sa"
		password=""
		maxActive="20"
	/>-->

	<!-- Sybase -->

	<!--<Resource
		name="jdbc/LiferayPool"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="net.sourceforge.jtds.jdbc.Driver"
		url="jdbc:jtds:sybase://localhost:5000/lportal"
		username="sa"
		password=""
		maxActive="20"
	/>-->

Related Articles #

Tomcat with SQL Server 2008

Building and Installing Liferay Source Code on Glassfish v2 and MySQL

Sybase configuration for Liferay

DB2 Express-C 9.5 on CentOS 5.2

Derby with Glassfish

PostgreSQL with Glassfish

Derby Java DB RDBMS

0 Allegati
496249 Visualizzazioni
Media (2 Voti)
La media del punteggio è 5.0 stelle su 5.
Commenti
Commenti Autore Data
Hi, I have been googling and reading the wiki... Jon Goldberg 20 febbraio 2009 10.05
I am also having a problem. I interpreted the... Troy St. john 20 febbraio 2009 13.03
For MySql, make sure the database exist. It... Jerry Niu 20 febbraio 2009 15.04
It is not as complicated as it appears in this... andrew chen 17 giugno 2009 14.33
Awesome - managed to get it working. Just one... Content Chemist 7 gennaio 2010 10.46
I have been reading the Wiki and I'm... Lisa Simpson 23 febbraio 2009 13.11
Hello Lisa, Unfortunately, this article... Richard Sezov 24 febbraio 2009 15.43
Rich, I am using the jBoss-tomcat- 5.0.0... Brian Holland 1 aprile 2009 8.16
The first part of configuring liferay to use... Richard Sandoz 22 aprile 2009 22.07
Lisa, also wanted to let you know the Wiki... Bryan Cheung 24 febbraio 2009 15.51
Hi Lisa, For the MySql connect, you need to... Jerry Niu 27 febbraio 2009 12.23
I tried the technique above - ... Tom Wackerfuss 2 marzo 2009 12.32
This seems to work, I removed the HSQL... Michael Burchill 2 marzo 2009 20.39
It would be a cache issue in the Tomcat. It... Jonas Yuan 6 marzo 2009 14.16
I haven't been doing much development recently,... Larry Smith 23 marzo 2011 16.09
I've noticed that, since I'm using a very... David Thompson 1 marzo 2009 18.50
I downloaded the 5.2.2. Bundled with Tomcat 5.5... Franklin Phan 10 marzo 2009 15.59
Does Liferay generate any logs by default? I'm... Franklin Phan 10 marzo 2009 16.38
Seems like I still get this Msg: 23:18:30,686... Ben L 30 marzo 2009 16.41
Excellent! was googling & pulling my hair out... jef vratny 4 maggio 2009 4.25
Is there a way to keep using ROOT.xml instead... Diego Toharia 7 maggio 2009 1.33
Hi, nothing is commented about the wol-portlet... Luis Mas 18 maggio 2009 10.15
sorry, the file should be at ... Luis Mas 18 maggio 2009 10.35
and as wol tables are created in lportal schema... Angela Maria Russi 18 maggio 2009 11.45
Hi All I am unable to do the DB migration. My... New2 Liferay 20 maggio 2009 3.23
INGRES Database problem; in migration // SORRY... New2 Liferay 20 maggio 2009 3.25
Using Oracle I need to have a databse with an... Denis Signoretto 22 maggio 2009 1.04
404 error when going to http://hostname:8080/... general grant 22 maggio 2009 10.58
I am having the same problem with Tomcat 5.5. ... Erika O 27 maggio 2009 12.04
I'm trying to migrate from 5.1.2 to 5.2.3. ... Wayne Christian 7 giugno 2009 11.26
I also seem to be getting oading... Wayne Christian 7 giugno 2009 11.29
Hello Guys, I am new bee to Liferay, I just... Am sodi 7 giugno 2009 17.00
Thanks Ramesh, it worked perfectly. Even... Carlos Galindo 11 giugno 2009 14.57
hwat about Oracle hana Gebredingle 6 luglio 2009 1.45
What is the effect of having empty values for... Peter B West 30 luglio 2009 21.17
Someone really needs to clean this... J B 12 agosto 2009 12.26
I have a similar issue. I just want to move... dali Laadhar 29 settembre 2009 6.43
I also facing the same problem as like u i add... sasi kala 31 marzo 2010 4.32
Can someone plz help me connecting to a SQl... CJ van Tonder 14 dicembre 2009 1.31
Hi, I was able to configure Liferay Portal... Prem Kashyap 14 dicembre 2009 4.19
Just found out. Actually you do not need the... Prem Kashyap 14 dicembre 2009 4.31
Thank you so much, really helpfull infos. But,... Oğuz Çelikdemir 6 gennaio 2010 0.07
Hi all, To configure liferay on oracle10g ... DarshanKumar N Bhatia 25 aprile 2010 21.05
HI Just to say Thanks "configure liferay on... DarshanKumar N Bhatia 7 agosto 2010 0.26
At the beginning of this page, in the area for... Kirk Stork 10 settembre 2010 6.32
Kirk, We have been working on this, literally,... Amy Mead 1 ottobre 2010 14.16
Windows/Unix MySQL Note: Windows and unix... David H Nebinger 23 luglio 2011 8.25
Hi All, We are having one web application, Now... Navnath Gajare 20 ottobre 2011 1.45
I have problem like this: 严重: Error waiting... Harry ni 20 settembre 2012 2.50
Yes, there is a solution, where you can migrate... Bella fernandis 11 dicembre 2012 22.30

Hi,

I have been googling and reading the wiki and posts. I downloaded the 5.2.1 version of liferay with both tomcat 5.5 and 6. I can't figure out what file to create or edit to have liferay use mysql instead of hypersonic. I have read alot about a portal(-ext). file to create. Does anyone have an example and what directory to put in? Sorry i am more of DBA than Java developer.

Liferay v5.2 unifies the configuration of the database in a single file for all application servers. As most other configuration options you can set this up in the portal(-ext).properties file as follows (example for MySQL):

I see this from above where do i put it. Is there a way to get those sample files?

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:my­sql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsi­ng=false
jdbc.default.username=
jdbc.default.password=

Thanks,

Jon

PS. I got it working with hypersonic is real simple..... emoticon
Inviato il 20/02/09 10.05.
I am also having a problem.

I interpreted the instructions above as "...if this file does not exist then create it using....".

So I did however it doesn't seem to work.

Any answers out there?
Inviato il 20/02/09 13.03 in risposta a Jon Goldberg.
For MySql, make sure the database exist. It does not need to be populated, just needs to exist.
{{{
create database lportal521 character set utf8;
}}}
Inviato il 20/02/09 15.04 in risposta a Jon Goldberg.
I have been reading the Wiki and I'm confused!!!! I can't find the portal.properties in 5.2 to save my life. Quoting.... "The portal.properties file has examples for all the main databases supported. " I'm unable to get this to attach to MySQL When I try to run Liferay with a MySQL configuration, I get a Tomcat 404 error message. I seem to be missing some vital file but I'll be damned if I know what it is or where to find it. I'm not that familiar with your product but I've been googling like mad and still can't come up with anything. Surely this product isn't so retarded that I can't set the database connection from an XML file. Or wait... I think that is what I'm seeing... I have to use ant and rebuild it get it to talk to a "real" database.
Inviato il 23/02/09 13.11.
Hello Lisa,

Unfortunately, this article assumes that the reader has certain information that the article itself does not provide.

Please take a look at our Liferay Portal Administrator's Guide here: http://www.liferay.com/web/guest/community/documentation/5_1. On page 127, there is a description of what the portal.properties file is, where to find it, and how to extend it using your own portal-ext.properties file. The file in the 5.2 version of the portal does indeed have examples for the various databases, and you can use that as a template in your portal-ext.properties file to connect to your database of choice.

Hope this helps!

--Rich
Inviato il 24/02/09 15.43 in risposta a Lisa Simpson.
Lisa, also wanted to let you know the Wiki article has been updated with a direct link to portal.properties in SVN. That way you can reference it and then add the properties you want to override in your portal-ext.properties.
Inviato il 24/02/09 15.51 in risposta a Lisa Simpson.
Hi Lisa,

For the MySql connect, you need to create a new blank file and name it "portal-ext.properties" and put it in the "{liferay-home}\{tomcat}\webapps\ROOT\WEB-INF\classes" folder.

Cheers,

Jerry Niu
Inviato il 27/02/09 12.23 in risposta a Lisa Simpson.
I've noticed that, since I'm using a very recent build of MySQL, the driver provided by LifeRay gave me errors regarding being unable to identify a dialect / unable to get a connection to the backing DB. Using the most recent connector from MySQL fixed this problem.
Inviato il 01/03/09 18.50.
I tried the technique above -
{liferay-home}\tomcat-5.5.27\webapps\ROOT\WEB-INF\classes\portal-ext.properties,­ but the startup did not seem to pick it up (it still reported Hypersonic being used).

I did the following: unzip portal-impl.jar > comment out the Hypersonic section > edit portal.properties to include a section for MySql > zipped back up > copied to {liferay-home}\tomcat-5.5.27\webapps\ROOT\WEB-INF\lib > the startup now finds my empty MySql database, populates it, and all is good.

Regards, Tom W.
Inviato il 02/03/09 12.32 in risposta a Jerry Niu.
This seems to work, I removed the HSQL reference in the portal.properties and left mysql in the portal-ext.properties and it is using Mysql.

One thing though is that the log still contains a reference to HSQL on startup if I tail -f catalina.out but when I checked it wasn't using any HSQL resources.
Inviato il 02/03/09 20.39 in risposta a Tom Wackerfuss.
It would be a cache issue in the Tomcat.

It would be helpful: before restarting the Tomcat, remove folders /temp and /work.
Inviato il 06/03/09 14.16 in risposta a Tom Wackerfuss.
I downloaded the 5.2.2. Bundled with Tomcat 5.5 and followed the instructions at
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Quick+Installation+I­nstructions

I'm running it on Windows, and I'm getting this error:

SEVERE: Job (DEFAULT.listImagesJobDetail threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exc
eption: org.springframework.transaction.CannotCreateTransactionException: Could
not open JDBC Connection for transaction; nested exception is java.sql.SQLExcept
ion: Connections could not be acquired from the underlying database!]

So Liferay can't find it's own embedded HSQL db?
Inviato il 10/03/09 15.59.
Does Liferay generate any logs by default? I'm not seeing any .log or .out files.
Inviato il 10/03/09 16.38.
Seems like I still get this Msg:

23:18:30,686 WARN [DialectDetector:79] 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.properties.

But when I check the logs of the MySQL DB, it seems to be using this instead of the HSQL. Is this log message suppose to display regardless?
Inviato il 30/03/09 16.41.
Rich,

I am using the jBoss-tomcat- 5.0.0 bundle and at the top it says "To find out where to put portal-ext.properties for other app servers, please refer to the Portal Administrator's Guide." but I can't seem to find anything about where to put this file in JBoss. Also Is the process the same for changing out the database. In a normal JBoss installation there are a few other places that I would modify, so I'm not sure exactly what to do. Any help would be greatly appreciated. Thanks
Inviato il 01/04/09 8.16 in risposta a Rich Sezov.
The first part of configuring liferay to use MySQL is pretty straightforward. Just create the file (portal-ext.properties) and override the JDBC settings.

The next step, porting the existing data from HSQL as we have created alot of content, involved going into the script for HSQL (lportal.script) and pulling out all the insert statements and running them against the MySQL database. I was able to run all of the inserts successfully (4458) in all (ran a mass search&replace to put a trailing semicolon). After I ran this and went into the product, I experienced an issue. When I log in as our test user and go to the portlet pages, I get a white screen. I also tried logging in as Bruno Admin (the delivered admin account) and am able to see our content, but the screen layout isn't set right. I also noticed an error in the tomcat console: com.liferay.portal.kernel.xml.DocumentException: Error on line 1 of document : Content is not allowed in prolog.

Through the course of this effort, I had set the parameters in the portal.properties to recreate the initial database that liferay starts with (2200 insert statements). So through our customization, we more than doubled the data.

To recap the HSQL - MySQL process:
(1) Go into the folder C:\liferay-portal-5.2.2\tomcat-5.5.27\webapps\ROOT\WEB-INF\classes\
(2) Create a file: portal-ext.properties
(3) add this content to this file:
schema.run.enabled=true
schema.run.minimal=true
jdbc.default.driverClassName=­com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=­true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=lport­al
jdbc.default.password=thepassword
(4) Create an empty database called lportal
(5) Start liferay. This will populate the database with all the tables (147) and insert data into them.
(6) Empty the data. This can be done by selecting all the tables in phpmyadmin and selecting "Empty" from the dropdown.
(7) Open the file C:\liferay-portal-5.2.2\data\hsql\lportal.script and find the first INSERT statment.
(8) Select from here on down to the end of the file and copy/paste this into a new file.
(9) Add a semicolon to the end of each insert statement. This can be done by search&replace close-parens followed by CR with close-parens semicolon CR -- ')CR' with ');^p' (^p is the ultraedit symbol for CR)
(10) import this into MySQL into the emptied database.
Inviato il 22/04/09 22.07 in risposta a Brian Holland.
Excellent! was googling & pulling my hair out trying to get this to work!

here's what worked for my postgres connection on tomcat 6/ liferay 5.2.2

jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.url=jdbc:pos­tgresql://localhost:5432/lportal
jdbc.default.username=liferay
jdbc.default.passwo­rd=password
Inviato il 04/05/09 4.25.
Is there a way to keep using ROOT.xml instead portal-ext.properties for database settings? I find that, since portal-ext.properties is inside webapps/, working with many environments is quite annoyin. When we do a release, we just deploy webapps and lib/ext, and we have many common-for-all-environments properties in portal-ext.properties.
Inviato il 07/05/09 1.33.
Hi, nothing is commented about the wol-portlet configuration.

To fully change HSQL database to a production database, I had to create a file inside wol-portlet/web-inf/classes/jdbc.properties and this properties
jira.driverClassName
jira.url
jira.username
jira.password
as explained here:
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/­2102487#_19_message_2112549
Inviato il 18/05/09 10.15.
sorry, the file should be at wol-portlet/web-inf not inside classes
Inviato il 18/05/09 10.35 in risposta a Luis Mas.
and as wol tables are created in lportal schema (in mysql is where we tested), jira.url should refer to lportal schema (or the schema where wol_ tables are).
Inviato il 18/05/09 11.45 in risposta a Luis Mas.
Hi All

I am unable to do the DB migration.

My target database is INGRES.

I tried running the schema directly, but that does not work too and needs lot of modification. Tried searching the code but looks like there is no help for Ingress nor a Util class for Ingress in com\liferay\portal\tools\sql\ folder of portal-impl.jar.

When I point to Ingres database, server says that there is no table called repository_
Stacktrace is provided below..

Please help

here are my portal-ext.property entries.
------------------------------------
schema.run.enabled=true
schema.run.mi­nimal=true
jdbc.default.driverClassName=com.ingres.jdbc.IngresDriver
jdbc.default.­url=jdbc:ingres://hic-pcs4330:II7/lportal
jdbc.default.username=atonce_user
jdbc.d­efault.password=satyam@123
hibernate.dialect=org.hibernate.dialect.IngresDialect

S­TACKTRACE from Console
-----------------------------------------
10:21:27,536 INFO [PortalImpl:243] Portal lib directory /D:/liferay-portal-5.2.2/tomcat-6.0.18/webapps/ROOT/WEB-INF/lib
/
10:21:46,581 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:47,737 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:47,768 ERROR [QuartzSchedulerEngineImpl:93] Unable to initialize engine
com.liferay.portal.SystemException: java.lang.NullPointerException
at com.liferay.portal.service.impl.QuartzLocalServiceImpl.checkQuartzTables(QuartzL­ocalServiceImpl.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav­a:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils­.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(Ref­lectiveMethodInvocation.java:

..............
10:21:47,971 INFO [ServerDetector:104] Detected server tomcat
Starting Liferay Portal Standard Edition 5.2.2 (Augustine / Build 5202 / February 20, 2009)
10:21:52,565 INFO [ReleaseLocalServiceImpl:95] Create tables and populate with default data
10:21:52,565 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:52,565 ERROR [ReleaseLocalServiceImpl:159] java.lang.NullPointerException
java.lang.NullPointerException
at com.liferay.portal.service.impl.ReleaseLocalServiceImpl.createTablesAndPopulate(­ReleaseLocalServiceImpl.java:
143)
at com.liferay.portal.service.impl.ReleaseLocalServiceImpl.getBuildNumberOrCreate(R­eleaseLocalServiceImpl.java:9
8)
Inviato il 20/05/09 3.23.
INGRES Database problem; in migration

// SORRY FOR DUPLICATE ENTRY //
I am unable to do the DB migration.

My target database is INGRES.

I tried running the schema directly, but that does not work too and needs lot of modification. Tried searching the code but looks like there is no help for Ingress nor a Util class for Ingress in com\liferay\portal\tools\sql\ folder of portal-impl.jar.

When I point to Ingres database, server says that there is no table called repository_
Stacktrace is provided below..

Please help

here are my portal-ext.property entries.
------------------------------------
schema.run.enabled=true
schema.run.mi­nimal=true
jdbc.default.driverClassName=com.ingres.jdbc.IngresDriver
jdbc.default.­url=jdbc:ingres://hic-pcs4330:II7/lportal
jdbc.default.username=atonce_user
jdbc.d­efault.password=satyam@123
hibernate.dialect=org.hibernate.dialect.IngresDialect

S­TACKTRACE from Console
-----------------------------------------
10:21:27,536 INFO [PortalImpl:243] Portal lib directory /D:/liferay-portal-5.2.2/tomcat-6.0.18/webapps/ROOT/WEB-INF/lib
/
10:21:46,581 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:47,737 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:47,768 ERROR [QuartzSchedulerEngineImpl:93] Unable to initialize engine
com.liferay.portal.SystemException: java.lang.NullPointerException
at com.liferay.portal.service.impl.QuartzLocalServiceImpl.checkQuartzTables(QuartzL­ocalServiceImpl.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav­a:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils­.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(Ref­lectiveMethodInvocation.java:

..............
10:21:47,971 INFO [ServerDetector:104] Detected server tomcat
Starting Liferay Portal Standard Edition 5.2.2 (Augustine / Build 5202 / February 20, 2009)
10:21:52,565 INFO [ReleaseLocalServiceImpl:95] Create tables and populate with default data
10:21:52,565 INFO [DBUtil:116] Using dialect org.hibernate.dialect.IngresDialect
10:21:52,565 ERROR [ReleaseLocalServiceImpl:159] java.lang.NullPointerException
java.lang.NullPointerException
at com.liferay.portal.service.impl.ReleaseLocalServiceImpl.createTablesAndPopulate(­ReleaseLocalServiceImpl.java:
143)
at com.liferay.portal.service.impl.ReleaseLocalServiceImpl.getBuildNumberOrCreate(R­eleaseLocalServiceImpl.java:9
8)
Inviato il 20/05/09 3.25.
Using Oracle I need to have a databse with an UTF-8 character encoding ? What happen if I have a databse with a single byte character encoding (ISO8859-1)?
Inviato il 22/05/09 1.04.
404 error when going to http://hostname:8080/ with Portal 5.2.3/Tomcat 6 and MySQL:

I downloaded and unpacked the 5.2 portal bundle with tomcat 6. I can start the default install (embedded Demoticon and access it without issue.

I created the portal-ext.properties file in "{liferay-home}\{tomcat}\webapps\ROOT\WEB-INF\classes" as referenced above.

In the portal-ext.properties file I have:

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mys­ql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsin­g=false
jdbc.default.username=lportal
jdbc.default.password=password

The database and user were created as required.

When I access htttp://myhost:8080 I get a 404 error. If I remove the portal-ext.properties file, it works again.

What am I missing or doing wrong?

Thanks - GG
Inviato il 22/05/09 10.58.
I am having the same problem with Tomcat 5.5. Starting Tomcat 5.5 generates several exceptions after "Starting Spring root WebApplication context"
Inviato il 27/05/09 12.04 in risposta a general grant.
I'm trying to migrate from 5.1.2 to 5.2.3. After providing the portal-ext.properties to convert from hypersonic
to my existing msql, I'm getting the following error. I assume I no longer need the mysql resource entry in ROOT.xml, like in previous versions. What about the mail resource entry?

What could be the problem? I've been succesfully running with
mysql on 5.1.2.


18:15:50,333 INFO [DBUtil:501] Database does not support case sensitive queries
18:15:50,350 ERROR [OpenSSOFilter:139] javax.servlet.ServletException: java.lang.RuntimeException: java.io.IOException: Cannot create directory: /usr/local/data/lucene/0
javax.servlet.ServletException: java.lang.RuntimeException: java.io.IOException: Cannot create directory: /usr/local/data/lucene/0
at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:166)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
Inviato il 07/06/09 11.26.
I also seem to be getting
oading file:/Volumes/Shared/webappsrv/liferay-portal-5.2.3/tomcat-6.0.18/webapps/ROOT/W­EB-INF/classes/portal-ext.properties
18:28:33,462 ERROR [DataSourceFactoryBean:71] Unable to lookup jdbc/LiferayPool
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
Inviato il 07/06/09 11.29 in risposta a Wayne Christian.
Hello Guys,

I am new bee to Liferay, I just yesterday downloaded and fiddled with the latest Liferay_Tomcat portal bundle Standard Edition (liferay-portal-tomcat-6.0-5.2.3).

I had same issues with MySQL on my local machine as you all have. After going through all the comments here on this thread i found user "Tom Wackerfuss" suggestions gave the success to configure Liferay with MySQL. Thank you Tom. Here are the steps i have performed to make it work with the latest SE.

1. Like Tom said unzip the portal-impl.jar and make 2 changes to portal.perperties file as below.
a. Comment HSQL properties.
b. Uncomment MySQL properties, add userID & Password values and save the file.
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncodin­g=UTF-8&useFastDateParsing=false
jdbc.default.username=<DBconnection_USER_ID>
jdbc.default.password=<BDConnection_PWD>

2. Make a jar file with all the original contents and changed portal.properties file. DON'T USE ZIP TOOL as i did and that jar file doesn't work. USE THE BELOW Command
1. jar cf portal-impl.jar *.*

3. Place this jar file back in where it belongs i.e. {liferay-home}\tomcat-5.5.27\webapps\ROOT\WEB-INF\lib

4. I didn't make chages to any other files like ROOT.XML or portal-ext.properties. You don't need to make changes in ROOT.XML to reflect database you want to point to in the 5.2.3 version this is what i found.

5. Start the server.

that is it .
Mallinarc
Inviato il 07/06/09 17.00.
Thanks Ramesh, it worked perfectly. Even though I tried it on the liferay-portal-tomcat-5.5-5.2.2 bundle.
Inviato il 11/06/09 14.57 in risposta a Ramesh C Mallina.
It is not as complicated as it appears in this document. I have blogged my configuration steps here:

http://www.soapractice.com/web/guest/home/-/asset_publisher/m0AI/blog/lifer­ay-glassfish-web-space-production-db-setup?redirect=%2Fweb%2Fguest

2 crucial steps:

# Create a text file named portal-ext.properties
# Add an entry in the properties file:
jdbc.default.jndi.name=jdbc/LiferayPool
#Edit the file liferay xxx/tomcat xxx/conf/Catalina/localhost/ROOT.xml. Add the following section. Note that this has to be placed between the <Context> </Context> tag
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/yourDBName?useUnicode=true&amp;characterEncoding=UTF­-8"
username="yourUserName"
password="yourPassword"
maxActive="20"
/>
Inviato il 17/06/09 14.33 in risposta a Jon Goldberg.
Inviato il 06/07/09 1.45.
What is the effect of having empty values for
jdbc.default.username=
jdbc.default.password=
?
I assume that the database creation works, but who is the default user, or is it the anonymous user? In the article

http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Building%20an­d%20Installing%20Liferay%20Source%20Code%20on%20Glassfish%20v2%20and%20MySQL

the suggestion is

Login to MySQL as 'root' and create database lportal;
use lportal;
create user lportal;
set password for 'lportal'@'localhost' = password('lportal');
grant all privileges on *.* to 'lportal'@'localhost' identified by 'lportal'

With MySql 5.1.35, at least, this doesn't quite work, because user 'lportal' is created with an associated host of '%', but by creating user 'lportal'@'localhost' the password and privileges can be set.

This assumes that I have

jdbc.default.username=lportal
jdbc.default.password=lportal

in portal-ext.properties.

Shouldn't these wrinkles be mentioned in this article as well?
Inviato il 30/07/09 21.17.
Someone really needs to clean this documentation up, I am trying to attempt this with 5.2.3 and am confused, need to seperate 4.x and 5.1.x old configs, and group them under a seperate wiki/doc location.
Inviato il 12/08/09 12.26.
I have a similar issue.
I just want to move data from a portal working with hsql, to another portal working with mysql
The only thing that i have to recover are users.
So I extracted the user INSERT INTO lines from lportal.script, and created a script that worked perfectly in mysql

When I run : select * from User_ I see the records that I have added
but in the portal, I still only see the old users?

(I restarted everything : liferay and mysql)
Inviato il 29/09/09 6.43.
Can someone plz help me connecting to a SQl database. . . . i have been strugeling for 2 days. i am new to liferay .i am running 5.2.3
Inviato il 14/12/09 1.31.
Hi,
I was able to configure Liferay Portal Standard Edition 5.2.3 with MySQL. I have used JNDI configuration. Steps as follows -

Tasks 1 - ROOT Webapp

Unzip portal-impl.jar inside LIFERAY_HOME/webapps/ROOT/WEB-INF/lib
Search for file portal.properties and extract it to the folder - LIFERAY_HOME/webapps/ROOT/WEB-INF/classes
Rename the extracted file to portal-ext.properties
Comment out the following lines in the file -
# include-and-override=portal-ext.properties
#include-and-override=${liferay.home}/portal-ext.properties
I am not sure if commenting the above lines is needed. But i did commented it.

Search for jdbc.default.jndi.name=jdbc/LiferayPool in the file.
Uncomment the above line in the file. So now you will be using JNDI lookup for the database.

Open the file ROOT.xml inside the folder LIFERAY_HOME/conf/Catalina/localhost
Copy the following line -
<ResourceLink global="jdbc/LiferayPool" name="jdbc/LiferayPool" type="javax.sql.DataSource"/>

Tasks 2 - wol-portlet

Go to folder LIFERAY_HOME/webapps/wol-portlet/WEB-INF/classes/META-INF
Open the file - ext-spring.xml
Comment out the following lines -
<!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
­ <property name="location">
<value>/WEB-INF/jdbc.properties</value>
</property>
<p­roperty name="placeholderPrefix" value="${jdbc." />
</bean> -->
<!-- <bean id="jiraDataSourceTarget" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.jira.driverClassName}" />
<property name="url" value="${jdbc.jira.url}" />
<property name="username" value="${jdbc.jira.username}" />
<property name="password" value="${jdbc.jira.password}" />
</bean> -->

Uncomment the following line -

<bean id="jiraDataSourceTarget" class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean" lazy-init="true">
<property name="jndiName">
<value>jdbc/JIRAPool</value>
</property>
</bean>

Go to folder LIFERAY_HOME/webapps/wol-portlet/META-INF
Open the file - context.xml
Add the following line -
<ResourceLink global="jdbc/JIRAPool" name="jdbc/JIRAPool" type="javax.sql.DataSource"/>

Copy the context.xml to folder LIFERAY_HOME/conf/Catalina/localhost
Rename it as wol-portlet.xml

Tasks 3 - Creating Database and users

Create the following 2 database and users as follows -

Start MySQL
Run the following scrips from MySQL Prompt -

create database lportal character set utf8;
grant usage on lportal.* to luser@localhost identified by 'lpass';
grant all privileges on lportal.* to luser@localhost;

grant usage on lportal.* to 'luser'@'%' identified by 'lpass';
grant all privileges on lportal.* to 'luser'@'%';

create database jira character set utf8;
grant usage on jira.* to ljuser@localhost identified by 'ljpass';
grant all privileges on jira.* to ljuser@localhost;

grant usage on jira.* to 'ljuser'@'%' identified by 'ljpass';
grant all privileges on jira.* to 'ljuser'@'%';

Now you have 2 database created. lportal for ROOT. and jira for wol-portlet.

Tasks 4 -

Creating Resource in server.xml
Open the server.xml file under LIFERAY_HOME/conf
Add the following resource under <GlobalNamingResources>
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" maxActive="50" maxIdle="10" maxWait="10000"
removeAbandoned="true" removeAbandonedTimeout="240" validationQuery="SELECT 1" name="jdbc/LiferayPool" password="lpass" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/lportal" username="luser" />

<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" maxActive="50" maxIdle="10" maxWait="10000"
removeAbandoned="true" removeAbandonedTimeout="240" validationQuery="SELECT 1" name="jdbc/JIRAPool" password="ljpass" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/jira" username="ljuser" />

Assumption - the mysql jdbc jar is in ext/lib folder.

Now you are good to start the server and your Liferay with MySQL should be working well and fine.

All the Best

Prem Kashyap
Inviato il 14/12/09 4.19 in risposta a CJ van Tonder.
Just found out. Actually you do not need the jira database created. As I verify now, all the wol-portlet related tables got created inside the lportal database. So we do not need to creatre the jira database and we can point our JNDI jdbc/JIRAPool to lportal database.

Regards
Prem Kashyap
Inviato il 14/12/09 4.31 in risposta a Prem Kashyap.
Thank you so much, really helpfull infos.
But, just wondering, if we want to install JIRA in our environment, should we use this jira database settings or will we need to point new database settings?
Inviato il 06/01/10 0.07 in risposta a Prem Kashyap.
Awesome - managed to get it working.

Just one question: How do I check/confirm that Liferay Portal is actually using MySQL? I saw some messages on startup. Can I check in the Control Panel under the properties section?
Inviato il 07/01/10 10.46 in risposta a andrew chen.
I also facing the same problem as like u
i add records in User_ table , but still i can see the old users

did u solve this problem...
pls try to reply me
Inviato il 31/03/10 4.32 in risposta a dali Laadhar.
Hi all,

To configure liferay on oracle10g
Steps i Used:
1) Installing oracle 10g and creating user having username="lportal" password="lportal"
2) specifying jdbc.default.jndi.name=jdbc/LiferayPool in portal-ext.properties
3) Creating liferay pool
<!-- for oracle to create liferay pool -->
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
dr­iverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:­1521:xe"
username="lportal"
password="lportal"
maxActive="20"/>

in root.xml
4) I started tomcat .it have created database successfully . and I created my static web content in Hindi.
5) After sign out. I restarted tomcat/liferay.
Result : again Hindi contains is not in Hindi language .it show ???? marks .
Also in database journalarticle table having content fields shows ???? marks .
Why is it so.....?
So let me know :
1) While installing oracle, what is the character set oracle has by default?
2) How to change it into UTF-8?
3) How to see what is current character set in oracle ?
4) We are not specifying ant character set in root.xml and in portal-ext.properties why ?


So,This is on Oracle10g as database.
Thanks and Regards
Darshankumar Bhatia
Inviato il 25/04/10 21.05.
HI
Just to say Thanks
"configure liferay on oracle10g and multilanguage (Hindi)"
has resolved.Just i created new database using DBCA with utf-8 enable, It works fine .
Inviato il 07/08/10 0.26 in risposta a DarshanKumar Bhatia.
At the beginning of this page, in the area for Liferay 6, it says to find portal-ext.properties here

{{{{liferay-home}/{tomcat}/webapps/ROOT/WEB-INF/classes}}}

Is it not true that the new home for this file is actually right in

{{{{liferay-home}}}}

Or is this an indication that the file has moved back to where it used to be?

In short, what is the proper location for portal-ext.properties in Liferay 6?
Inviato il 10/09/10 6.32.
Kirk,

We have been working on this, literally, for hours and still cannot get mySQL to work. I do believe that your assumption is correct based on the following:

http://www.liferay.com/documentation/liferay-portal/6.0/administration­/-/ai/installing-liferay-for-an-enterprise-2

"Liferay Portal uses a special folder defined as Liferay Home. This folder is one folder higher than the location of the application server itself. This is why the bundles place the application server one folder in from the bundle's root folder.

If Liferay is unable to create the resources it needs in this folder, or if it finds itself running on certain application servers, it will fall back to defining the home folder in the home folder of the user ID that is running Liferay. "

Assuming this is correct (I say this because we still don't have it working either), we have tried to configure "the system" such that LifeRay would be the POOL for the database connection as opposed to the Application Server (in our case Tomcat). As a result, we focused on the portal-ext.properties file and not the application file (root.xml). Interestingly, I noticed that some had to configure both to work, but I don't think it is a requirement. I would be happy if one would work.

We also created a database as well as a user. We did not use root for that account (perhaps this is our problem). In spite of all of this, we cannot get mySQL to work. I will post the error message as soon as I can.

Any insight to get this to work would be so awesome!
Inviato il 01/10/10 14.16 in risposta a Kirk Stork.
I haven't been doing much development recently, and I should have known that web app can't find a resource file unless it is on class path.

I suspect this did not for some, because they did not restart their server so that it would be picked up.

Richard Sezov should update his book if possible to provide these explicit details since it is overlooked by anyone who is new or rusty...
Inviato il 23/03/11 16.09 in risposta a Jerry Niu.
Windows/Unix MySQL Note:

Windows and unix versions treat MySQL differently with regards to case sensitivity. If you are planning on developing in one platform and moving to the other, do yourself a favor and research the case sensitivity issue first.

The MySQL doco explains in detail the settings that you should use on either side to make the database more portable between the two systems.
Inviato il 23/07/11 8.25.
Hi All,
We are having one web application, Now we are migrating it to portal.
For app we were using database for user managment.
Now we want to move this existing USERS to portal database.
Is there any best practise of doin this.??
Inviato il 20/10/11 1.45 in risposta a David H Nebinger.
I have problem like this:
严重: Error waiting for multi-thread deployment of context descriptors to complete
java.util.concurrent.ExecutionException: java.lang.StackOverflowError
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:573)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:469)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1416)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.ja­va:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)­
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:346)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1145)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:8­86)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.StackOverflowError
at java.util.zip.ZipFile.getEntry(ZipFile.java:148)
at java.util.jar.JarFile.getEntry(JarFile.java:208)
at java.util.jar.JarFile.getJarEntry(JarFile.java:191)
at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:757)
at sun.misc.URLClassPath.getResource(URLClassPath.java:169)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.net.URL.getURLStreamHandler(URL.java:1144)
at java.net.URL.<init>(URL.java:572)
at java.net.URL.<init>(URL.java:464)
at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:977)
at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:966)
at sun.misc.URLClassPath.findResource(URLClassPath.java:146)
at java.net.URLClassLoader$2.run(URLClassLoader.java:385)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:382)
at java.lang.ClassLoader.getResource(ClassLoader.java:1003)
at org.apache.catalina.loader.WebappClassLoader.getResource
..................
somebody can tell me why?
Inviato il 20/09/12 2.50 in risposta a Navnath G.
Yes, there is a solution, where you can migrate your database from HSQL to any other.
Go to Control panel --> Server --> Server Administration --> Data migration

Now enter the configuration for database, where you want to migrate your data. As i migrated to MYSQL the configuration settings are:
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysq­l://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing­=false
jdbc.default.username=your-username
jdbc.default.password=your-password

Befo­re Pressing "Execute" button ,do create a database named "lportal" . Now on clicking the Execute button the following message gets showed up:

The system is currently undergoing maintenance. Please try again later.
Wed, 22 Feb 2012 09:12:45 +0000 Executing com.liferay.portal.convert.ConvertDatabase

But not to worry you can see the database content migrating in console.

This is it. Have a successful migration. If you find any problem msg me.
Inviato il 11/12/12 22.30 in risposta a Harry ni.