# Page History

## Key

• This line was removed.
• Formatting was changed.
Comment: Migrated to Confluence 5.3

# Maven Continuum :: FAQ

## Question Index

### How do I configure Continuum to use GMail as the SMTP server?

In /path/to/continuum/conf/plexus.xml, use this:

Code Block
<resource>
<name>mail/Session</name>
<type>javax.mail.Session</type>
<properties>
<property>
<name>mail.smtp.host</name>
<value>smtp.gmail.com</value>
</property>
<property>
<name>mail.smtp.port</name>
<value>465</value>
</property>
<property>
<name>mail.smtp.auth</name>
<value>true</value>
</property>
<property>
<name>mail.smtp.user</name>
</property>
<property>
</property>
<property>
<name>mail.smtp.starttls.enable</name>
<value>true</value>
</property>
<property>
<name>mail.smtp.socketFactory.class</name>
<value>javax.net.ssl.SSLSocketFactory</value>
</property>
</properties>
</resource>


### Can I run multiple Continuum instances on one server?

Yes, just change the port in apps/continuum/conf/application.xml and the paths in the configuration. (Requires a restart).

IIRC, Continuum won't respect a change to the working directory for existing projects, it will still check them out in the old location. Until/unless this is fixed, be sure to make configuration changes before adding any projects, or delete them and re-add.

TODO

TODO

### Can I change the location of the log files in Tomcat?

create a plexus.properties file in WEB-INF with the following content:

No Format
appserver.base=[full path to your tomcat installation dir]


this will stop continuum from creating an appserver.base dir and will force it to write the continuum.log into tomcat/logs

### Why was my build cancelled?

No Format
org.apache.maven.continuum.execution.ContinuumBuildCancelledException:
The build was cancelled


By default, builds are allowed to run for XX seconds. If your builds take longer, increase the value in the build definition.

### How do I fix out of memory errors?

No Format
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Java heap space
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.OutOfMemoryError: Java heap space
[INFO] ------------------------------------------------------------------------


Continuum uses Maven behind the scenes, so set MAVEN_OPTS=-Xmx512m (adjust as necessary) for the user under which Continuum is running.

By default, JDK 1.5 uses 1/4 of the physical memory on the box. (Actually it's the lesser of 1/4 physical memory or 1GB, but few of us have a 4GB box. See: gc-ergonomics)

### How do I unlock the admin account?

1. Restarting the application will unlock the admin account.

4. If you don't mind losing all of your user accounts, stop Continuum and delete the continuum-1.1/data/users/database directory. You will be prompted to create the admin account again, and from there you can set up your users and permissions. Be sure to make at least one other account a user administrator this time.

### How do I change the location of derby.log and the databases?

Set the derby.system.home System property, as described here

For Tomcat, this can be done by adding a setenv.sh script in $TOMCAT_HOME/bin with the contents: export JAVA_OPTS=-Dderby.system.home=/path/to/derby-files On Windows: a$TOMCAT_HOME/bin/setenv.bat file containing
set JAVA_OPTS=-Dderby.system.home=c:\path\to\derby-files

No, but only an administrator can create an account with no password.

### Why won't Continuum send any email when running on Tomcat 5.5.20?

Tomcat 5.5.20 is missing the MailSessionFactory class (and a few others.) Until Tomcat 5.5.21 is released, either use Tomcat 5.5.17, or use the workaround explained in Bug 40668.

You may see entries similar to the following in Continuum's log files:

2006-12-23 15:09:23,281 http-8080-Processor25 ERROR Mailer - Unable to send message, subject Welcome to Maven Continuum org.codehaus.plexus.mailsender.MailSenderException: Can't get mail session for component 'java:comp/env/mail/Session'.

Caused by: javax.naming.NamingException: Could not create resource factory instance org.apache.naming.factory.MailSessionFactory

### What is a 'Quiet Period' in a build schedule?

A length of time (in seconds) after a scm update, during which a scheduled build will not be started.
It is intended to prevent starting a build in mid-commit. (This is not relevant for Subversion.)

### How can I fix a corrupted system configuration?

If Continuum fails to start up completely (e.g. no page found at localhost:8080/continuum), this might be due to a corrupt database. One possibility here is that the system configuration database table became corrupted through the insertion of more than one configuration. checking conf/wrapper.log should confirm this, with an error message like:

org.apache.maven.continuum.store.ContinuumStoreException: Database is corrupted. There are more than one systemConfiguration object.

Before reinstalling continumm and manually adding back all the users, builds, etc, try this:
1) shut down Continuum
2) use derby's "ij" program to attach to the database
3) delete the offending row(s) with an SQL command

Derby can be downloaded from http://db.apache.org/derby. An example of connecting to the database and removing a record is as follows:
> db-derby-10.2.2.0-bin/bin/ij
ij> connect 'jdbc:derby:/home/3rdptysw/default/continuum-1.0.3/apps/continuum/database';
ij> delete from sa.systemconfiguration where systemconfiguration_id=6;
ij> exit;

If you're lucky, this will do the trick.

### How can I modify the email templates?

The email templates are in WEB-INF/lib/continuum-core-x.x.jar under the package org/apache/maven/continuum/notification/mail/templates. You must modify them directly in that jar (or extract them, change them and replace them in the same directory within the jar).

TODO

### How do I set up a weekly build schedule?

To set up a weekly schedule, you must use ? in the day of the month field in addition to filling in the day of week field.

### How do modify the database to unlock the admin account?

(contributed by Anoop Kumar)

2. Set DERBY_HOME like: export DERBY_HOME=~/derby/db-derby-10.2.2.0-bin/
3. set classpath like this: export CLASSPATH=$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
4. Ensure that continuum is shut down. I use kill <pid of continuum.>
5. Then run ij to start the derby database, like this: ~/derby/db- derby-10.2.2.0-bin/bin/ij
6. I got the ij> prompt.
7. At the ij> prompt, start the db, like this: connect 'jdbc:derby:/usr/local/continuum- 1.0.3/apps/continuum/database';
8. ij> connect 'jdbc:derby:/usr/local/continuum-1.0.3/apps/continuum/database';
ij> select * from sa.continuumuser;
9. Next modify the data using a simple sql, like this:
(Basically I am setting GROUP_ID_OID to 1 for a normal user using the account_id to identify the user. If the  GROUP_ID_OID is set to 1 for a user, then that user becomes the Continuum Admin)

ij> describe sa.continuumuser;
COLUMN_NAME         |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
ACCOUNT_ID           |INTEGER  |0   |10  |10    |NULL      |NULL      |NO
EMAIL                      |VARCHAR  |NULL|NULL|255   |NULL      |510       |YES
FULL_NAME               |VARCHAR  |NULL|NULL|255   |NULL      |510       |YES
GROUP_ID_OID        |INTEGER  |0   |10  |10    |NULL      |NULL      |YES
GUEST                     |CHAR     |NULL|NULL|1     |NULL      |2         |NO