Table of Contents
The service unit is configurable via its extensions in the jbi.xml file :
<extensions:extensions>
<ftp.server>myserver</ftp.server>
<ftp.port>21</ftp.port>
<ftp.login>login</login>
<ftp.password>password</ftp.password>
<ftp.folder>folder</ftp.folder>
<ftp.operation>operation</ftp.operation>
<ftp.file-name>filename</ftp.file-name>
<ftp.put.exchange-data>attachments</ftp.put.exchange-data>
<ftp.get.exchange-data>source</ftp.get.exchange-data>
</extensions:extensions>Table 2.1. extensions
| Attribute | Description | Default Value | Required |
|---|---|---|---|
| ftp.server | IP or DNS name of the server | Yes | |
| ftp.port | the port number of the ftp server, if no port is specified, the default port will be used | 21 | No |
| ftp.login | the user login name used to connect to the server | Yes | |
| ftp.password | the user password | Yes | |
| ftp.folder | the folder on the FTP server | "" | No |
| ftp.operation | operation to use if no one is specified in the incoming message | put | No |
| ftp.file-name | file name for a PUT operation writing the XML IN content on the FTP server (not for writing attachments), or for a GET operation with 'default' specified in the XML IN content.Not used in other cases | 21 | Depends |
| ftp.put.exchange-data | used for PUT operation. Define which elements of an incoming message have to be written on the FTP server. Values are 'source' for writing only the XML IN content, 'attachments' for writing only attachments, or 'source-and-attachments' for writing both | source-and-attachments | No |
| ftp.get.exchange-data | used for GET operation. Define if the get file from the FTP server has to be written in the XML OUT as a content of the message exchange or as an attachment.Not used in other cases | source | No |
Table 2.2. Configuration avancée des Services Units (champs provides)
| Parametre | Description | Valeur par defaut | Obligatoire |
|---|---|---|---|
| wsdl | Adresse d'un fichier wsdl décrivant les services et opérations proposées par un endpoint activé par la service unit. Cette extension n'est utilisable qu'avec les champs provides. L'adresse peut être une url de type "http" ou "file" ou un chemin relatif par rapport à la racine de l'archive de la SU. Ex : "file:///user/ofabre/test.wsdl" ou "/WSDL/test.wsdl". Si aucun wsdl n'est spécifié, une description simplifiée est crée automatiquement par le CF | Non |
The Service Unit has to contain the following elements, packaged in an archive:
The META-INF/jbi.xml descriptor file, has described above,
An optional wsdl file describing the related service
service-unit.zip
+ META-INF
- jbi.xml (as defined above)
- service.wsdl (optional)The petals-bc-ftp component exposes 4 operations
:
dir : return the files list on the FTP server
put : copy incoming messages on the FTP server
get : get one specified file from the FTP server and return it
mget : get all files from the FTP server and return them
When the dir operation is set on the incoming IN
message, the component retrieves the filenames list from the FTP
server (with the informations set in the service unit :URL, user,
folder...).
The OUT message returned to the consumer is defined as follow :
<list folder="[folder set in the SU]">
<file-name>[filename 1]</file-name>
<file-name>[filename 2]</file-name>
...
</list>attaWhen the put operation is set on the incoming IN
message, the component write the elements contained in the message
to the FTP server (with the informations set in the service unit
:URL, user, folder...).
Elements to write are defined with the
put.exchange-data, set in the service-unit :
source : the XML content of the message is written. The name of the written file is the one set in the service-unit with the
file-nameattribute.attachments : all the attachments of the message are written.
source-and-attachments : the two previous cases.
When the get operation is set on the incoming IN
message, the component retrieve ONE file from the FTP server (with
the informations set in the service unit :URL, user,
folder...).
The name of the file to retrieve is set in the XML IN content of the message, as follow:
<file-name>[filename]</file-name>
If the specified file-name value is default, the
file name used is the file-name attribute set in the
service-unit.
The way to store the file in the OUT message is defined with
the get.exchange-data, set in the service-unit :
source : the retrieved file is set in the XML OUTcontent of the message.
attachment : the retrieved file is set as an attachment.
When the mget operation is set on the incoming IN
message, the component retrieves all the files from the FTP server
(with the informations set in the service unit :URL, user,
folder...).
There is no recursivity, sub folders are ignored.
Every file is set in the OUT message as an attachment.
The XML OUT content reference the file-name list of retrieved files, as follow:
<attached-files>
<file-name>[filename 1]</file-name>
<file-name>[filename 2]</file-name>
...
<attached-files>Table 2.3. Configuration avancée des Services Units (champs consumes)
| Parametre | Description | Valeur par defaut | Obligatoire |
|---|---|---|---|
| pattern | Message exchange pattern abréviation. Ce paramètre peut être utilisé en conjonction avec une méthode utilitaire des Listeners : createExchange(MEPConstants mep). Cette méthode renvoie alors un Exchange correspondant au type de pattern spécifié. Les valeurs admises sont : in-only, robust-in-only, in-opt-out et in-out. | Non | |
| operation | Opération à appeler sur un service. Ce paramètre peut être utilisé en conjonction avec les méthodes sendXXX des Listeners. Si l'opération n'est pas spécifiée dans l' Exchange à envoyer, c'est la valeur de ce paramètre qui est utilisée. | Non | |
| timeout | Timeout en millisecondes lors d'un envoie synchrone. Ce paramètre peut être utilisé en conjonction avec la méthode sendSync(Exchange exchange) des Listeners. Un envoi synchrone est alors effectué avec un timeout correspondant à cette valeur. Entier supérieur ou égal à 0. 0 pour aucun timeout. | 0 | Non |
| org.objectweb.petals.routing.strategy | Cette propriété définie la stratégie de routage. Deux types de stratégies peuvent etre définies: highest ou random. Les autres parametres représentent respectivement la ponderation locale, la ponderation des endpoints actifs et la ponderation des endpoints inactifs. La strategy "random" choisit un endpoint en fonction des pondérations définies. L'endpoint qui a la plus forte pondération sera plus facilement selectionné par rapport aux autres. La strategy "highest" choisit le premier endpoint dans la liste qui a la plus forte ponderation. | Non | |
| org.objectweb.petals.transport.compress | La charge utile d'un MessageExchange est un texte XML. Il peut être intéressant de la compresser avant que les messages ne soient échangés entre deux noeuds Petals. Les valeurs admises sont true ou false. Positionner la valeur à true permet de compresser le contenu du message. | Non | |
| org.objectweb.petals.messaging.noack | Tous les échanges JBI finissent par un message contenant un status "DONE" ou "ERROR". Le consommateur doit accepter ces messages, sinon ils sont accumulés dans le NMR. De plus, ces messages génèrent du traffic souvent inutile. Les valeurs admises sont true ou false. Positionner la valeur à true permet de ne pas envoyer les messages de type "DONE" ou "ERROR". | Non | |
| org.objectweb.petals.transporter.qos | Cette propriété définie la règle de qualité de service supportés par les transporters PEtALS. Les valeurs possibles sont: reliability ou fast. Si ce n'est pas spécifié, la règle "reliability" est selectionnée par défaut. | Non |
Table 2.4. Configuration des intercepteurs au niveau de la service unit
| Parametre | Description | Valeur par defaut | Obligatoire |
|---|---|---|---|
| name | Le nom de l'intercepteur a utiliser. C'est le nom qui est definit au niveau du composant. | Oui |


PEtALS 2.0 & pack (2007/09/28)


