Configuration files

M.E.T.A. generates a few configuration files for your application. These work well for a simple application without security and just a few data sources.

All configuration files, unless stated explicitly otherwise, get deleted and recreated if you re-run turbine:setup. So be careful!

Maven specific configuration files

M.E.T.A. generates and uses the following configuration files in the root directory of your application tree.

If you run the turbine:setup goal and no file exists in it, a new file is created with all parameters copied in. An existing file is never clobbered!

setup.propertiesM.E.T.A. configurationWhenever you run the turbine:setup goal, this file is read and used to generate all other configuration files. It should contain the Setup Properties for generating you application skeleton.
build.propertiesApplication configurationThis file is intended to customize your application for a specific installation.
project.propertiesApplication configurationThis file is intended to configure your application. It should contain the properties that are the same for all installations.
maven.xmlMaven build fileThis file contains the callbacks from other maven goals into M.E.T.A. If you need to customize your build process, you can add custom goals or callbacks in this file.
project.xmlMaven POM fileThis file contains the maven-specific Project descriptor.

Application specific configuration files

M.E.T.A. generates the following configuration files for your application. These location of these files differ in the various application development modes.

Name and Location in normal Modename and Location in inplace ModeFunctionDescription
conf/<appname>.propertiesWEB-INF/conf/<appname>.propertiesTurbine configurationThis file gets included by the file when Turbine is configured.
conf/<appname>-web.xmlWEB-INF/web.xmlDeployment descriptorThis is the deployment descriptor for your application. In Normal mode, it gets copied to WEB-INF/web.xml in your application.
conf/<appname>-intake.xmlWEB-INF/conf/<appname>-intake.xmlIntakeServiceThis file should contain your intake group definitions.

This is the main configuration file for Tubine. It contains all the settings for the turbine core. The M.E.T.A. configuration has the following settings which might bite you when you build an application. It is necessary that you review the settings in this file and customize them to match your application needs!

This list is not complete. The full list can be reviewed in the file itself.

module.packagesorg.apache.turbine.modulesContains only the internal package and not the application package. This is loaded from the <appname>.properties file. Unlike normal properties files, Turbine uses ExtendedProperties from Jakarta Commons Configuration which merge together (normal Properties would overwrite, so this might be confusing to newcomers). If you add your own packages to your application tree, do it in <appname>.properties.
action.sessionvalidatorsessionvalidator.TemplateSessionValidatorA M.E.T.A.-generated application does not use security by default! If you need security, you must change this to sessionvalidator.TemplateSecureSessionValidator.
services.*The default configuration does not activate all the Turbine-supplied services! E.g. the Scheduler is not activated by default. If you need additional services, you must add them to your configuration file. M.E.T.A. activates the following services:

  • AvalonComponentService
  • CryptoService
  • FactoryService
  • PoolService
  • RunDataService
  • ServletService
  • AssemblerBrokerService
  • GlobalCacheService
  • SecurityService
  • PullService
  • IntakeService
  • TemplateService
  • VelocityService
  • UploadService
trueThe tools generate relative links to avoid problems with some web containers. If you need absolute links, you must change these settings.
services.VelocityService.default.screenVelocityScreenUse a screen class that does no security checks as default.
services.VelocityService.velocimacro.library.autoreloadtrueGood for debugging, bad for production. If your macro files no longer change, set this to false.
services.IntakeService.serialize.pathnoneDon't serialize the intake XML files. Good for debugging, bad for performance.
include<appname>.propertiesLoad an additional configuration file and merge it into the main configuration.

Application-specific properties

All application specific parameters are configured in <appname>.properties. This file is loaded by an include property in

SettingValueDescription<appname>.modulesPackage path for the application specific modules
services.VelocityService.velocimacro.librarymacros/<appname>Macros.vmLoad application macros into Velocity Service.
services.IntakeService.xml.pathWEB-INF/conf/helloworld-intake.xmlApplication specific intake file.

Some parts of Turbine and probably your web application might use Torque to access databases.

In this configuration file, the various datasources are defined. M.E.T.A. generates a default data source (default) and an application specific data source (<appname>) for you.

At setup time, both data sources are mapped onto the same JDBC data provider.

M.E.T.A. configures Torque to use the org.apache.torque.dsfactory.SharedPoolDataSourceFactory as pool factory.

For debugging purposes is it very important to get logging information from a running application. M.E.T.A. generated applications write the following log files into the logs subdirectory:

Log fileclassesDescription
turbine.logorg.apache.turbineLog messages from the Turbine core
torque.logorg.apache.torqueTorque logging
scheduler.logSchedulerServiceReports and logging from the scheduler
velocity.logVelocityServiceVelocity messages
avalon.logAvalonServiceAvalon components (if they don't use their own logging)

Everything else
Catchall category. Your application logs its messages here

Avalon specific configuration

Turbine 2.3 uses the AvalonComponentService to load and initialize Torque.

M.E.T.A. provides two minimal Avalon configuration files to allow this:

  • componentConfiguration.xml
  • roleConfiguration.xml
If you don't intend to use Avalon in your application, you should not change anything here.

Using M.E.T.A. is no replacement for looking at the Turbine documentation and the comments in the configuration files!