Frequently Asked Questions

How to upgrade James?

  1. Stop the James server and rename the previous James directory to another name.
    2. Run phoenix to let the new james.sar to be deployed.
    3. Copy and modify config.xml:
    3.1. Remove fetchpop block, since fetchpop was removed in version 2.3.
    3.2. Move <mailetpackages> and <matcherpackages> outside the <spoolmanager> block.
    3.3. Add the <mailet match="All" class="PostmasterAlias"/> as the first mailet of the "root" processor. This was hardcoded in 2.2.0 and previous, but it is now configurable.
    3.4. Move the spoolrepository out of the mailstore. It is also necessary to change the syntax. For example,
      <spoolRepository>
         <repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>
      </spoolRepository>

Must be changed to

      <spoolrepository destinationURL="db://maildb/spool/spool" type="SPOOL"/>

3.5. Move the objectstore config into the mailstore config.

3.6. To be able to use SSL you need to add this SSL config to the server-sockets block:

         <factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
            <ssl-factory>
               <keystore>
                  <file>conf/keystore</file>
                  <password>secret</password>
                  <key-password>keysecret</key-password>
                  <type>JKS</type>
                  <protocol>TLS</protocol>
                  <algorithm>SunX509</algorithm>
                  <authenticate-client>false</authenticate-client>
               </keystore>
            </ssl-factory>
         </factory>

4.#4 Modify custom mailets if necessary. The following things were changed, so maybe it is necessary for you to change some stuff in your mailets:
4.1. Avalon Updates:

  • avalon Component has been replaced by avalon Service
  • avalon Composable has been replaced by avalon Serviceable
  • avalon ComponentManager has been replaced by avalon ServiceManager
    4.2. Cornerstone updates:
  • MailStore interface has been removed: mailets looking up the MailStore should now lookup a Store (org.apache.avalon.cornerstone.services.store.Store)
    5. Replace the newly created apps/james/var directory by the old apps/james/var directory, so that user accounts, inboxes, spools and other things will be moved into James' new install.
    6. You should now be able to start JAMES without problems.

Questions About The Default Configuration

Where Is The Derby Log?

derby logs to derby.log in the bin subdirectory.

How Can I Log SQL Statements Using Derby?

Modify the Derby configuration file (derby.properties file in the bin subdirectory). Change derby.language.logStatementText to true. For example

derby.language.logStatementText=true

The results will appear in derby.log in the bin subdirectory.

How Can I Log Query Plans Using Derby?

Modify the Derby configuration file (derby.properties file in the bin subdirectory). Change derby.language.logQueryPlan to true. For example

derby.language.logQueryPlan=true

The results will appear in derby.log in the bin subdirectory.

Note that the output is verbose.

Configuration

How Can I Configure Derby?

Derby can be configured using the derby.properties file in the bin subdirectory. Note that a server restart may be required before the new properties are picked up.

  • No labels