Introduction
The container configuration is divided into several parts:
|
Table of contents Contributors
No contributors found for: authors on selected page(s)
|
Container environment configuration
The environment configuration aims to set the right options of the JVM. For example, it is in this configuration that you set the memory size of the JVM running your Petals ESB container.
Each installation archive comes with a default environment configuration:
Installation archive | Default environment configuration file |
---|---|
ZIP archive | $PETALS_HOME/conf/env.sh |
Debian package | /etc/petals-esb/default-env.sh |
For all installation, the default environment configuration file can be updated to adjust parameters to your environment. But for a Debian-based installation, it is recommended to create your own environment configuration and define it in the configuration of your Petals ESB container through the property petals.environment.config.file.
The default environment configuration comes with options to enable the SNMP agent of the JVM. Just uncomment them to enable it. This default SNMP configuration requires an ACL file. An ACL file is also provided by default.
Caution: For a Debian-based installation, this default SNMP configuration can be used only by the system user 'petals' because of the security required on the ACL file. |
Caution: The environment variable JAVA_OPTS will always take precedence over the value present in $PETALS_HOME/conf/env.sh or /etc/petals-esb/default-env.sh. Nevertheless, both will be used. |
Container configuration reference
The container configuration is located into the file server.properties and expressed as property (key/value).
A property value can be set using the value of another property as a variable using a placeholder mechanism, and you can add your own properties:
myserver.host=localhost
petals.topology.url=http://${myserver.host}/petals/${petals.container.name}/topology.xml
The property petals.environment.config.file does not accept placeholder. |
Container configuration reference
Parameter/Property name | Default value | Description |
---|---|---|
petals.container.name | - | Name of the container. MUST match a container name defined in the topology.
The name of the container can also be defined through the system property 'petals.container.name'. See System configuration |
Paths | ||
petals.data.basedir | see note 1 | The root directory where the Petals ESB container will write its data |
petals.repository.path | ${petals.data.basedir}/repository | The absolute path of the Petals working area. |
petals.work.path | ${petals.data.basedir}/work | The absolute path of the Petals repository in which it holds its JBI configuration and can recover this configuration from it. |
petals.container.log.config.file | The file 'loggers.properties' located in the same path than the local container configuration, ie. server.properties. | Configuration file of the logging system. See Logging in Petals |
petals.environment.config.file | /etc/petals-esb/default-env.sh | This property is only available for Debian-based installation. Configuration file of the environment running the Petals container. This configuration file is used to set JVM options. A relative file is accepted only for local container configuration URL (
file://
...), otherwise it must be an absolute path. For ZIP archive based installation, just update directly the file $PETALS_HOME/conf/env.sh. |
General | ||
petals.classloaders.isolated | true | If true, the classloaders of JBI components are fully isolated, ie. they have the system classloader parent instead of the container classloader. If false, the container classloader is the parent of the classloaders of JBI components. Recommended value: true. |
petals.task.timeout | 120000 | The maximum duration, in milliseconds, of the processing of a life-cycle operation on a JBI components and SAs (start, stop, ...). It prevents from hanging threads. |
petals.exchange.validation | false | Flag to activate the control of exchange acceptance by target component when the NMR routes messages (see isExchangeWithConsumerOkay and isExchangeWithProviderOkay methods in JBI Component interface. |
Topology | ||
petals.topology.url | topology.xml2 | URL of the topology definition. |
petals.topology.passphrase | - | Pass-phrase used as security to get sensible information of other Petals nodes of the topology as JMX credentials from this node. |
petals.topology.locks.max-wait-time | 30 | Max waiting time, in seconds, to acquire a distributed lock over all Petals nodes of the domain. |
petals.topology.pinger.start-delay | 2000 | Waiting time, in milliseconds, before to start the topology pinger that checks if remote containers are reachable. |
petals.topology.pinger.period-delay | 5000 | Delay, in milliseconds, between two runs of the topology pinger that checks if remote containers are reachable. |
Router | ||
petals.router.strategy | highest,3,2,1 | The strategy of the router. |
petals.router.send.attempt | 2 | Defines the number of attempt to send a message to an endpoint. Several attempts can be done when there is transport failure during the convey of a message. |
petals.router.send.delay | 1000 | The delay, in milliseconds, between the send attempts. |
Transporter | ||
petals.transport.queue.max-size | 10000 | Queue size, in message number, of the message exchange transporter. If the queue is full, new message exchange can rejected. |
petals.transport.queue.offering.timeout | 2500 | How long to wait, in milliseconds, to put the message exchange in the queue before to reject it. |
Remote Transporter | ||
petals.transport.tcp.receivers.listening.interface | 0.0.0.0 | The network interface Petals will listen to to receive exchange with the remote transporter. To listen on all network interfaces available on the host, use the value '0.0.0.0' |
petals.transport.tcp.receivers | 10 | The number of messages that can be received by the remote transporter at the same time. |
petals.transport.tcp.senders | 10 | The number of messages that can be sent by the remote transporter at the same time, per remote container. |
petals.transport.tcp.connection.timeout | 5000 | The timeout, in milliseconds, to establish a connection to a remote Petals node, for a sender. |
petals.transport.tcp.send.timeout | 5000 | The timeout, in milliseconds, to send a TCP packet to a remote Petals node, for a sender. |
petals.transport.tcp.send.evictor.delay | 60000 | The delay, in milliseconds, before running the eviction thread removing unused message exchange senders. |
petals.transport.tcp.send.evictable.delay | 60000 | The delay, in milliseconds, before an idle 'message exchange sender' is set evictable. |
Persistence Service | ||
petals.persistence.duration | 3600000 | The duration, in milliseconds, of temporary persisted data, such as Message Exchange. |
petals.persistence.fetch-size | 10 | The persistence SQL request fetch size, in rows. |
petals.persistence.db.driver | org.hsqldb.jdbcDriver | The JDBC driver of the persistence service. |
petals.persistence.db.url | {{jdbc:hsqldb:
file:$
petals.work.path}/persistenceService;shutdown=true |
The JDBC URL of the persistence service. |
petals.persistence.db.user | sa | The JDBC username of the persistence service. |
petals.persistence.db.password | <empty> | The JDBC password of the persistence service. |
System Recovery Service | ||
petals.recovery.corepoolsize | 5 | The core size of the thread pool used to recover JBI artifacts of the current container. |
petals.recovery.keepalivetime | 60 | The keep alive time, in seconds, of the thread pool used to recover JBI artifacts of the current container. Note: the system recovery service is stopped (and thread pool shutdown) when the system recovery is finished. |
Note 1: If the container configuration, ie. server.properties, is defined by a file-based URL, the default value is the directory 'data' contained in the parent directory of the directory containing the file 'server.properties'. Otherwise, no default value is defined and a value MUST be provided.
Note 2: If the container configuration, ie. server.properties, is defined by a file-based URL, the default value is topology.xml in the same directory than the container configuration. Otherwise, no default value is defined and a value MUST be provided.
Extensions configuration
Other parameters associated to Petals ESB extensions can be found in the file server.properties:
Property name pattern | Extension |
---|---|
petals.autoloader.* | Petals ESB "Autoloader" |
petals.embedded-registry-overlay.* | Petals ESB "Embedded Petals Registry Overlay" |