Related Documents
- Service Engine Guide
- Core Configuration Guide
- Entity Engine Configuration Guide
- XML File Definitions (Documents Page)
Introduction
This document describes the configuration of the Service Engine. It starts with an introduction of general ideas and then goes through each part of the serviceengine.xml file and explains the available elements and their usage. The serviceengine.xml file used for the OFBiz applications has examples of a number of different options and is located in
ofbiz/commonapp/etc/serviceengine.xml
.
The configuration of the Service Engine is done through a simple XML file called serviceengine.xml
that must exist somewhere on the classpath.
Authorization
The authorization
tag is used to configure the service called for service authentication. This tag has a single required attribute service-name
; the value of this attribute should be the name of the service to use for authorization. By default this is defined to use the general OFBiz userLogin
service.
Thread Pool
The job scheduler is used for asynchronous and scheduled jobs/services. It contains a poller thread and several invoker threads. The thread-pool
tag is used to configure how each thread operates. The following attributes are available:
Attribute Name | Required? | Description |
---|---|---|
ttl | Y | The time to live for each invoker thread. Once this time is reached the thread is destroyed. |
wait-millis | Y | Each invoker thread will sleep for this amount of time before checking for jobs to run. |
jobs | Y | The maximum number of jobs each invoker thread will run before being destroyed. |
min-threads | Y | The minimum number of invoker threads to keep around. |
max-threads | Y | The maximum number of invoker threads to create. |
poll-enabled | Y | When 'true' the scheduler will poll the database for scheduled jobs. |
poll-db-millis | Y | If polling is enabled this defined how often the poller thread runs. |
Engine Definitions
Each implementation of the GenericEngine
interface needs to be defined in order to be used in the service definitions. The engine
has the following attributes:
Attribute Name | Required? | Description |
---|---|---|
name | Y | The name of the service engine. This must be unique. |
class | Y | The class which implements GenericEngine |
Resource Loaders
The resource-loader
tag is used to configure a named resource loader that can be used elsewhere to load XML and other resources. It has the following attributes.
Attribute Name | Required? | Description |
---|---|---|
name | Y | The name of the resource loader. Used in other tags in the 'loader' attribute. |
class | Y | The class to use that extends the abstract class org.ofbiz.service.config.ResourceLoader. Available classes include FileLoader, UrlLoader, and ClasspathLoader, all in the same package as the ResourceLoader class. |
prepend-env | N | The name of a Java environment property to put at the very beginning of the full location, before the prefix. This is optional. |
prefix | N | A string to put before the location when making the full location. This is optional. If used will go after the prepended environment property and before the location specified for each resource. |
Global Services
The global-services
tag is used to define the location of service definition files. This tag has the following two attributes:
Attribute Name | Required? | Description |
---|---|---|
loader | Y | The loader referenced from the resource loader definitions. |
location | Y | Specifies the location that the resource-loader will use inside itself to load the resource. |
Service Groups
The service-groups
tag is used to define the location of the service group definition files. This tag has the following two attributes:
Attribute Name | Required? | Description |
---|---|---|
loader | Y | The loader referenced from the resource loader definitions. |
location | Y | Specifies the location that the resource-loader will use inside itself to load the resource. |
ECAs
This service-ecas
tag is used to define the location of the service event condition action definition files. This tag has the following two attributes:
Attribute Name | Required? | Description |
loader | Y | The loader referenced from the resource loader definitions. |
location | Y | Specifies the location that the resource-loader will use inside itself to load the resource. |
JMS
The tag jms-service
defines service locations for JMS services.
Attribute Name | Required? | Description |
---|---|---|
name | Y | The name of the JMS service, used as the location in service definitions. |
send-mode | Y | The mode which to send the defined servers (below) can be: none, all, first-available, random, round-robin, or least-load . |
The jms-service
tag includes one or more server
tags that contain the following attributes:
Attribute Name | Required? | Description |
---|---|---|
jndi-server-name | Y | The name of the JNDI server defined in the jndiservers.xml. |
jndi-name | Y | The name in JNDI for the JMS Factory. |
topic-queue | Y | The name of the topic or queue. |
type | Y | The JMS type can be either topic or queue . |
username | Y | user name used to connect to the topic/queue. |
password | Y | password used to connect to the topic/queue. |
listen | Y | true/false to enable listening on this queue/topic. |
The jndi-server definition in the jndiservers.xml file should point to where the JMS client APIs can be located. This will be used to get either a TopicConnectionFactory or a QueueConnectionFactory depending on the type
that is defined. The jndi-name should point to the name of the object in JNDI that contains this connection factory instance.