#--------------------------------------------------------------------
# Example 1 : XML with simple routing
#--------------------------------------------------------------------

#--- Definitions of interfaces --------------------------------------

# dataformat is XML
System_Example1InFile_Message=XMLMessage
# data will be read out of a file with the background service 
System_Example1InFile_Receiver=FileReceiverThread
# name of the file
System_Example1InFile_Filename=$XBUS_HOME$/sample/Example1Infile.xml
# after successful processing, the file will be deleted
# other possible values: Rename, Preserve
System_Example1InFile_FinalResolution=Delete
# in case of an error, the file will be renamed
# other possible values: Delete, Preserve
System_Example1InFile_OnError=Rename
# when the file is empty, it is ignored and not be processed
# other possible values: Process, Error
System_Example1InFile_OnEmpty=Ignore
#validating the incoming XML data against its DTD
System_Example1InFile_XMLValidating=true
# an entry will be written to the Journal when reading the file
System_Example1InFile_Journal.Receive=true


# dataformat is XML
System_Example1OutFile_Message=XMLMessage
# data will be written to a file
System_Example1OutFile_Sender=FileSender
# name of the file
System_Example1OutFile_Filename=$XBUS_HOME$/sample/Example1OutFile.xml
# when the file already exists, it will be overwritten
# other possible values: Append, Error, Rename
System_Example1OutFile_ConflictResolution=Overwrite
# an entry will be written to the Journal after writing the file
System_Example1OutFile_Journal.Send=true

#--- Definitions for routing ----------------------------------------

# the data of Example1Infile will be transferred to Example1Outfile 
Router_Example1InFile_Distribute1=Example1OutFile

#--- Definitions for transforming -----------------------------------

# name of the XSLT script to transform the incoming XML format to the outgoing XML format
XSLTStylesheet_Example1InFile_Example1OutFile=Companies2Names.xsl

#--------------------------------------------------------------------
# Example 2 : RecordTypes with fixed field length
#--------------------------------------------------------------------

#--- Definitions of interfaces --------------------------------------

# dataformat is recordtypes
System_Example2PartsOrderIncoming_Message=RecordTypeMessage
# data will be read out of a file with the shell script 
System_Example2PartsOrderIncoming_Receiver=FileReceiver
# name of the file
System_Example2PartsOrderIncoming_Filename=$XBUS_HOME$/sample/Example2In$WILDCARD$.dat
# after successful processing, the file will be renamed
# other possible values: Delete, Preserve
System_Example2PartsOrderIncoming_FinalResolution=Rename
# when the file is empty, it is ignored and not be processed
# other possible values: Process, Error
System_Example2PartsOrderIncoming_OnEmpty=Ignore
# in case of an error, the file will be preserved
# other possible values: Delete, Rename
System_Example2PartsOrderIncoming_OnError=Preserve
# name of the file with the definition of the record type format
System_Example2PartsOrderIncoming_DescriptionFile=PartsOrderIncoming.xml
# an entry will be written to the Journal when reading the file
System_Example2PartsOrderIncoming_Journal.Receive=true

# dataformat is recordtypes
System_Example2PartsOrderOutgoing_Message=RecordTypeMessage
# data will be written to a file
System_Example2PartsOrderOutgoing_Sender=FileSender
# name of the file
System_Example2PartsOrderOutgoing_Filename=$XBUS_HOME$/sample/Example2Out$WILDCARD$.dat
# when the file already exists, the new data will be appended
# other possible values: Overwrite, Error, Rename
System_Example2PartsOrderOutgoing_ConflictResolution=Append
# name of the file with the definition of the record type format
System_Example2PartsOrderOutgoing_DescriptionFile=PartsOrderOutgoing.xml
# an entry will be written to the Journal after writing the file
System_Example2PartsOrderOutgoing_Journal.Send=true

# dataformat is simple text
System_Example2PartsOrderIncomingInternal_Message=SimpleTextMessage
# data will be written to a file
System_Example2PartsOrderIncomingInternal_Sender=FileSender
# name of the file
System_Example2PartsOrderIncomingInternal_Filename=$XBUS_HOME$/sample/Example2Out$WILDCARD$.xml
# when the file already exists, it will be overwritten
# other possible values: Append, Error, Rename
System_Example2PartsOrderIncomingInternal_ConflictResolution=Overwrite
# an entry will be written to the Journal after writing the file
System_Example2PartsOrderIncomingInternal_Journal.Send=true

#--- Definitions for routing ----------------------------------------

# the data of Example2PartsOrderIncoming will be transferred 
# to Example2PartsOrderOutgoing and Example2PartsOrderIncomingInternal
Router_Example2PartsOrderIncoming_Distribute1=Example2PartsOrderOutgoing
Router_Example2PartsOrderIncoming_Distribute2=Example2PartsOrderIncomingInternal

#--- Definitions for transforming -----------------------------------

# name of the XSLT script to transform the incoming record type format to the outgoing record type format
XSLTStylesheet_Example2PartsOrderIncoming_Example2PartsOrderOutgoing=PartsOrder_In2Out.xsl

#--------------------------------------------------------------------
# Example 3 : XML with complex routing
#--------------------------------------------------------------------

#--- Definitions of interfaces --------------------------------------

System_Example3InFile_Message=XMLMessage
System_Example3InFile_Receiver=FileReceiverThread
System_Example3InFile_Filename=$XBUS_HOME$/$VARIABLE_SampleDir$/Example3Infile.xml
System_Example3InFile_FinalResolution=Delete
System_Example3InFile_OnError=Rename
System_Example3InFile_OnEmpty=Ignore
#validating the incoming XML data against this Schema
System_Example3InFile_XMLSchema=Address.xsd
System_Example3InFile_Journal.Receive=true

System_Example3TransformStep_Message=XMLMessage
System_Example3TransformStep_Sender=PingSender
System_Example3TransformStep_Journal.Send=true

System_Example3ReverseStep1_Message=SimpleTextMessage
System_Example3ReverseStep1_Sender=JavaSender
System_Example3ReverseStep1_Class=net.sf.xbus.sample.JavaWorker
System_Example3ReverseStep1_Method=reverse
System_Example3ReverseStep1_Journal.Send=true
System_Example3ReverseStep1_Timeout=5

System_Example3ReverseStep2_Message=SimpleTextMessage
System_Example3ReverseStep2_Sender=JavaSender
System_Example3ReverseStep2_Class=net.sf.xbus.sample.JavaWorker
System_Example3ReverseStep2_Method=reverse
System_Example3ReverseStep2_Journal.Send=true
System_Example3ReverseStep2_Timeout=5

System_Example3BufferQueue1_Message=XBUSXMLMessage
System_Example3BufferQueue1_Receiver=MQReceiverThread
System_Example3BufferQueue1_Sender=MQSender
System_Example3BufferQueue1_Queuename=Buffer1
System_Example3BufferQueue1_Journal.Receive=true
System_Example3BufferQueue1_Journal.Send=true

System_Example3BufferQueue2_Message=XBUSXMLMessage
System_Example3BufferQueue2_Receiver=MQReceiverThread
System_Example3BufferQueue2_Sender=MQSender
System_Example3BufferQueue2_Queuename=Buffer2
System_Example3BufferQueue2_Journal.Receive=true
System_Example3BufferQueue2_Journal.Send=true

System_Example3HTTPSample1_Message=XBUSXMLMessage
System_Example3HTTPSample1_Sender=HTTPSender
System_Example3HTTPSample1_Receiver=HTTPReceiver
System_Example3HTTPSample1_URL=http://localhost:8080/xbus/servlet/Example3HTTPSample1
System_Example3HTTPSample1_Content-Type=text/xml
System_Example3HTTPSample1_Journal.Send=true
System_Example3HTTPSample1_Journal.Receive=true

System_Example3HTTPSample2_Message=XBUSXMLMessage
System_Example3HTTPSample2_Sender=HTTPSender
System_Example3HTTPSample2_Receiver=HTTPReceiver
System_Example3HTTPSample2_URL=http://localhost:8080/xbus/servlet/Example3HTTPSample2
System_Example3HTTPSample2_Content-Type=text/xml
System_Example3HTTPSample2_Journal.Send=true
System_Example3HTTPSample2_Journal.Receive=true

System_Example3OutFile1_Message=XBUSXMLMessage
System_Example3OutFile1_Sender=FileSender
System_Example3OutFile1_Filename=$XBUS_HOME$/$VARIABLE_SampleDir$/Example3OutFile1.xml
System_Example3OutFile1_ConflictResolution=Overwrite
System_Example3OutFile1_Journal.Send=true

System_Example3OutFile2_Message=SimpleTextMessage
System_Example3OutFile2_Sender=FileSender
System_Example3OutFile2_Filename=$XBUS_HOME$/$VARIABLE_SampleDir$/Example3OutFile2.xml
System_Example3OutFile2_ConflictResolution=Overwrite
System_Example3OutFile2_Journal.Send=true

#--- Definitions for routing ----------------------------------------

Router_Example3InFile_Invoke1=Example3TransformStep
Router_Example3InFile_Invoke2=Example3ReverseStep1
Router_Example3InFile_Invoke3=Example3ReverseStep2
Router_Example3InFile_Distribute1=Example3BufferQueue1
Router_Example3InFile_Distribute2=Example3BufferQueue2

Router_Example3BufferQueue1_Distribute1=Example3HTTPSample1
Router_Example3HTTPSample1_Distribute1=Example3OutFile1

Router_Example3BufferQueue2_Distribute1=Example3HTTPSample2
Router_Example3HTTPSample2_Distribute1=Example3OutFile2

#--- Definitions for transforming -----------------------------------

XSLTStylesheet_Example3InFile_Example3TransformStep=Companies2Names.xsl

# --- Variables -----------------------------------------------------

# Variables are used to substitute recurring entries in filenames, URL's, ...
Base_Variable_SampleDir=sample

#--------------------------------------------------------------------
# Example 4 : JavaReceiver
#--------------------------------------------------------------------

#--- Definitions of interfaces --------------------------------------

System_Example4InData_Message=SimpleTextMessage
System_Example4InData_Receiver=JavaReceiver
System_Example4InData_Journal.Receive=true

System_Example4Ping_Message=SimpleTextMessage
System_Example4Ping_Sender=PingSender
System_Example4Ping_Journal.Send=true

#--- Definitions for routing ----------------------------------------

Router_Example4InData_Invoke1=Example4Ping

#--- Definitions for special transformation -------------------------

Transformer_Example4InData_Example4Ping=JavaTransformer
Transformer_Example4InData.Example4Ping_Class=net.sf.xbus.sample.JavaTransformerSample
Transformer_Example4InData.Example4Ping_Method=reverse

#--------------------------------------------------------------------
# Example 5 : DBSender
#--------------------------------------------------------------------

#--- Definitions of interfaces --------------------------------------

System_Example5InFile_Message=SimpleTextMessage
System_Example5InFile_Receiver=FileReceiver
System_Example5InFile_Filename=$XBUS_HOME$/sample/Example5Infile.xml
System_Example5InFile_FinalResolution=Preserve
System_Example5InFile_OnEmpty=Ignore
System_Example5InFile_OnError=Preserve
System_Example5InFile_Journal.Receive=true

System_Example5Database_Message=XMLMessage
System_Example5Database_Sender=DatabaseSender
System_Example5Database_DBConnection=Example5DB
System_Example5Database_Journal.Send=true

System_Example5OutFile_Message=SimpleTextMessage
System_Example5OutFile_Sender=FileSender
System_Example5OutFile_Filename=$XBUS_HOME$/sample/Example5OutFile.xml
System_Example5OutFile_ConflictResolution=Overwrite
System_Example5OutFile_Journal.Send=true

#--- Definitions for routing ----------------------------------------

Router_Example5InFile_Invoke1=Example5Database
Router_Example5InFile_Distribute1=Example5OutFile

#--------------------------------------------------------------------
# Definitions for connections
#--------------------------------------------------------------------

#--- Connection for example 5 on database HSQLDB --------------------
# name of the jdbc driver class 
DBConnection_Example5DB_Driver=org.hsqldb.jdbcDriver
# URL with the address of the database
DBConnection_Example5DB_URL=jdbc:hsqldb:hsql://localhost
# maximum rows to fetch
DBConnection_Example5DB_MaxRows=1000
# user for connecting to the database
DBConnection_Example5DB_User=sa
# password of this user
DBConnection_Example5DB_Password=
# Autocommit or commit/rollback
DBConnection_Example5DB_AutoCommit=false

#Connection for journaling on database HSQLDB
DBConnection_Journal_Driver=org.hsqldb.jdbcDriver
DBConnection_Journal_URL=jdbc:hsqldb:hsql://localhost
DBConnection_Journal_MaxRows=1000
DBConnection_Journal_User=sa
DBConnection_Journal_Password=
DBConnection_Journal_AutoCommit=true

#Connection for example 5 on database HSQLDB
#DBConnection_Journal_Driver=com.mysql.jdbc.Driver
#DBConnection_Journal_URL=jdbc:mysql://localhost:3306/xbus
#DBConnection_Journal_MaxRows=1000
#DBConnection_Journal_User=root
#DBConnection_Journal_Password=
#DBConnection_Example5DB_AutoCommit=false

#Connection for journaling on Database MySQL
#DBConnection_Journal_Driver=com.mysql.jdbc.Driver
#DBConnection_Journal_URL=jdbc:mysql://localhost:3306/xbus
#DBConnection_Journal_MaxRows=1000
#DBConnection_Journal_User=root
#DBConnection_Journal_Password=
#DBConnection_Journal_AutoCommit=true

#--- OpenJMS ---------------------------------------------------------
# name of the QueueConnectionFactory
Connection_MQ_QueueConnectionFactory=JmsQueueConnectionFactory
# URL to access the message queue server
Connection_MQ_URL=tcp://localhost:3035
# name of the ContextFactory
Connection_MQ_ContextFactory=org.exolab.jms.jndi.InitialContextFactory

#FioranoMQ 5.22
#Connection_MQ_Server=FioranoMQ
#Connection_MQ_ContextFactory=fiorano.jms.runtime.naming.FioranoInitialContextFactory
#Connection_MQ_URL=http://localhost:1856
#Connection_MQ_QueueConnectionFactory=primaryQCF
#Connection_MQ_User=anonymous
#Connection_MQ_Password=anonymous

#HTTP
# file of the keystore when using HTTPS, the filename is relative to XBUS_HOME/etc
Connection_HTTP_Keystore=ssl/client.keystore

#--------------------------------------------------------------------
# Notification of critical errors
#--------------------------------------------------------------------

# name of the interface with the definitions for the sender
#Base_NotifyError_System1=ErrorMail
# maximum length of the error message
#Base_NotifyError_MessageLength=10000


# data of ErrorMail is internally treated as text
#System_ErrorMail_Type=Text
# the dataformat is a special one for error messages
#System_ErrorMail_Message=NotifyErrorMessage
# the error message will be sent via email
#System_ErrorMail_Sender=SMTPSender
# the host of the SMTP server to send the mail to
#System_ErrorMail_Host=mail.xxx.com
# the subject of the email
#System_ErrorMail_Subject=Unrecoverable error detected by xBus
# list of email addresses that shall receive the error messages
#System_ErrorMail_ToAddress1=john.doe@xxx.com
#System_ErrorMail_ToAddress2=mary@xxx.com
# the from address of the error message
#System_ErrorMail_FromAddress=administrator@xxx.com
# the long name of the sender
#System_ErrorMail_FromName=xBus Administration
# optional: username and password to connect to the SMTP server
#System_ErrorMail_User=xxx
#System_ErrorMail_Password=yyy


#--------------------------------------------------------------------
# Some basic definitions
#--------------------------------------------------------------------

#--- Tracing --------------------------------------------------------

#Trace_Levels: 4=DEBUG, 3=INFO, 2=WARN, 1=ERROR, 0=ALWAYS
Base_Trace_Level=3
# trace can be written either to the console or into a file
Base_Trace_Tracer=ConsoleTrace
#Base_Trace_Tracer=FileTrace
# maximum length of each trace line
Base_Trace_MaxLength=999999
# filename of the trace, relative to XBUS_HOME/etc
Base_Trace_Filename=trace.log

#--- Journaling -----------------------------------------------------

# journal can be written either to a database or into a file
Base_Journal_Implementation=DBJournal
#Base_Journal_Implementation=FileJournal
# maximum length of the request and response messages in the journal entry
Base_Journal_MessageLength=1024

#--- Misc -----------------------------------------------------------

# some receivers will do a retry when a message cannot be processed
# specify here the delay between the retries
Base_Receiver_WaitAfterError=5
# the FileXXXReceiverThreads will stop after this amount of errors in a sequence
Base_FileReceiverThread_StopAfterErrors=-1
# the FileXXXReceiverThreads will poll every n seconds, to find out if a file exists
Base_FileReceiverThread_Timeout=1
# the MQReceiverThreads will stop after this amount of errors in a sequence
Base_MQReceiverThread_StopAfterErrors=-1
# the MQReceiverThreads will wait n seconds, whether a message exits and then try again
Base_MQReceiverThread_Timeout=5
# the POP3XXXReceiverThreads will stop after this amount of errors in a sequence
Base_POP3ReceiverThread_StopAfterErrors=-1
# the POP3XXXReceiverThreads will poll every n seconds, to find out if an email exists
Base_POP3ReceiverThread_Timeout=5
# the HTTPReceivers will stop after this amount of errors in a sequence
Base_HTTPReceiver_StopAfterErrors=-1

#--- JMX Administration ---------------------------------------------

# Port of the JMX connection for remote administration
Base_Administration_JMXPort=1099

#--- Error Handling -------------------------------------------------

# all deleted messages will be written to the DeletedMessageStore
Base_DeletedMessageStore_Enabled=true
# the location of the DeletedMessageStore
Base_DeletedMessageStore_Directory=$XBUS_HOME$/log/DeletedMessages