Data source properties file

The data source properties file enables each node and member to access the databases that are used by B2B Advanced Communications.

The data source properties file is the SystemConfigurationDSLoader.properties file in the install_dir\Members\resources directory.

B2B Advanced Communications uses data sources to identify the databases that are used by each component. The databases are specified in the data source properties file, where they can easily be reconfigured without any configuration changes to the components. You do not have to configure database information in each component. You can use the data source properties file to create unique database schemas for each component.

When you are adding a node to your installation of B2B Advanced Communications, you can directly import this file as part of the configuration of the new node.

The following table lists the data sources and the components that use them.

Data Source Component
MegInfrastructureDataSource All components
MegCommsDataSource AS2 and AS4 communications
IdentityServerRepositoryDataSource Identity
MEGUI User interface

The data source properties are generated in one of the following ways when you run the Installation Manager:

  • In production installations, from data that is entered on the Database page.
  • In proof of concept installations, in a pre-configured file. Proof of concept installations use the Derby database.

The following table lists and describes each property. The number of the data source (#) ranges 0 - 3 for the four different data sources.

Property Description
ds.#.connectionTimeout The amount of time, in seconds, before the connection to the data source times out. Modify this property only as needed.
ds.#.currentSchema (DB2® only) The schema to use to connect to the DB2 database. If this property is not specified, the default for the connection is used.
ds.#.databaseName The name of the database.
ds.#.dropDatabase Indicates whether to delete an existing database when you install B2B Advanced Communications with a new database schema.
ds.#.id The identifier for the data source. Do not edit this value.
ds.#.jndiName The JNDI name for the data source. Do not edit this value.
ds.#.maxIdleTime The maximum amount of time, in seconds, that the data source can idle. Modify this property only as needed.
ds.#.maxPoolSize The maximum size for the thread pool for this data source. Modify this property only as needed.
ds.#.minPoolSize The minimum size for the thread pool for this data source. Modify this property only as needed.
ds.#.password The password for the user identifier that is used when you are connecting to the database.
ds.#.portNumber The port to connect to the database server.
ds.#.serverName The host name or IP address of the database server.
ds.#.transactional Indicates whether a data source participates in transactions that are managed by the application server. Settings are the following values:
  • true - For the MegCommsDataSource, MegInfrastructureDataSource, and IdentityServerRepositoryDataSource data sources
  • false - For the MEGUI data source
Do not edit this value.
ds.#.type The Java™ Naming and Directory Interface (JNDI) source type. Do not edit this value.
ds.#.user The user identifier to use when you are connecting to the database.
ds.#.vendor The database vendor. Values are as follows:
  • DB2
  • Derby
  • Oracle
  • SQL Server
Do not edit this value.
ds.#.createDatabase (Derby only) Indicates whether to automatically create the database schema. If ds.#.createDatabase=create, then the schema is automatically created.

Example of a DB2 data source properties file

This code is an example of the DB2 data source properties file:

# There are 4 data sources that must be defined for the product. Each data source
# has multiple properties, so all the properties for one data source must have
# the same prefix with expected format of "ds.#.". For each data source it is
# expected that the vendor selection and the connection and vendor specific
# properties will need to be updated. Specifically it is expected that these
# following properties will be updated:
# ds.#.vendor - should be updated to indicate which database type is being used
# ds.#.serverName - should be updated with appropriate database host/ip for that data source
# ds.#.portNumber - should be updated with port that database server is using for that data source
# ds.#.currentSchema - should be updated with correct schema to use for that data source
# ds.#.user - should be updated with username to connect to database server with for that data source
# ds.#.password - should be updated with password needed to connect to database server with the user 
                  for that data source

ds.0.connectionTimeout=10
ds.0.currentSchema=ID_SCHEMA
ds.0.databaseName=B2BAC_DB
ds.0.dropDatabase=false
ds.0.id=identityServerDS
ds.0.jndiName=jdbc/IdentityServerRepositoryDataSource
ds.0.maxIdleTime=300
ds.0.maxPoolSize=10
ds.0.minPoolSize=5
ds.0.password=correctPasswordHere
ds.0.portNumber=50000
ds.0.serverName=correctHostHere
ds.0.transactional=false
ds.0.type=javax.sql.ConnectionPoolDataSource
ds.0.user=correctUserHere
ds.0.vendor=DB2

ds.1.connectionTimeout=10
ds.1.currentSchema=CO_SCHEMA
ds.1.databaseName=B2BAC_DB
ds.1.dropDatabase=false
ds.1.id=megCommsDS
ds.1.jndiName=jdbc/B2BACCommsDataSource
ds.1.maxIdleTime=300
ds.1.maxPoolSize=10
ds.1.minPoolSize=5
ds.1.password=correctPasswordHere
ds.1.portNumber=50000
ds.1.serverName=correctHostHere
ds.1.transactional=false
ds.1.type=javax.sql.ConnectionPoolDataSource
ds.1.user=correctUserHere
ds.1.vendor=DB2

ds.2.connectionTimeout=10
ds.2.currentSchema=IN_SCHEMA
ds.2.databaseName=B2BAC_DB
ds.2.dropDatabase=false
ds.2.id=megInfrastructureDS
ds.2.jndiName=jdbc/B2BACInfrastructureDataSource
ds.2.maxIdleTime=300
ds.2.maxPoolSize=10
ds.2.minPoolSize=5
ds.2.password=correctPasswordHere
ds.2.portNumber=50000
ds.2.serverName=correctHostHere
ds.2.transactional=false
ds.2.type=javax.sql.ConnectionPoolDataSource
ds.2.user=correctUserHere
ds.2.vendor=DB2

ds.3.connectionTimeout=10
ds.3.currentSchema=UI_SCHEMA
ds.3.databaseName=B2BAC_DB
ds.3.dropDatabase=false
ds.3.id=megUIDS
ds.3.jndiName=jdbc/B2BACUI
ds.3.maxIdleTime=300
ds.3.maxPoolSize=25
ds.3.minPoolSize=5
ds.3.password=correctPasswordHere
ds.3.portNumber=50000
ds.3.serverName=correctHostHere
ds.3.transactional=false
ds.3.type=javax.sql.ConnectionPoolDataSource
ds.3.user=correctUserHere
ds.3.vendor=DB2
	

Example of an Oracle data source properties file

This code is an example of the Oracle data source properties file:

# There are 4 data sources that must be defined for the product. Each data source
# has multiple properties, so all the properties for one data source must have
# the same prefix with expected format of "ds.#.". For each data source it is
# expected that the vendor selection and the connection and vendor specific
# properties will need to be updated. Specifically it is expected that these
# following properties will be updated:
# ds.#.vendor - should be updated to indicate which database type is being used
# ds.#.serverName - should be updated with appropriate database host/ip for that data source
# ds.#.portNumber - should be updated with port that database server is using for that data source
# ds.#.user - should be updated with username to connect to database server with for that data source
# ds.#.password - should be updated with password needed to connect to database server with the user 
                  for that data source

ds.0.connectionTimeout=10
ds.0.databaseName=B2BAC
ds.0.dropDatabase=false
ds.0.id=identityServerDS
ds.0.jndiName=jdbc/IdentityServerRepositoryDataSource
ds.0.maxIdleTime=300
ds.0.maxPoolSize=10
ds.0.minPoolSize=5
ds.0.password=correctPasswordHere
ds.0.portNumber=1521
ds.0.serverName=correctHostHere
ds.0.type=javax.sql.ConnectionPoolDataSource
ds.0.user=correctUserHere
ds.0.vendor=Oracle

ds.1.connectionTimeout=10
ds.1.databaseName=B2BAC
ds.1.dropDatabase=false
ds.1.id=megCommsDS
ds.1.jndiName=jdbc/MegCommsDataSource
ds.1.maxIdleTime=300
ds.1.maxPoolSize=10
ds.1.minPoolSize=5
ds.1.password=correctPasswordHere
ds.1.portNumber=1521
ds.1.serverName=correctHostHere
ds.1.type=javax.sql.ConnectionPoolDataSource
ds.1.user=correctUserHere
ds.1.vendor=Oracle

ds.2.connectionTimeout=10
ds.2.databaseName=B2BAC
ds.2.dropDatabase=false
ds.2.id=megInfrastructureDS
ds.2.jndiName=jdbc/MEGInfrastructureDataSource
ds.2.maxIdleTime=300
ds.2.maxPoolSize=10
ds.2.minPoolSize=5
ds.2.password=correctPasswordHere
ds.2.portNumber=1521
ds.2.serverName=correctHostHere
ds.2.type=javax.sql.ConnectionPoolDataSource
ds.2.user=correctUserHere
ds.2.vendor=Oracle

ds.3.connectionTimeout=10
ds.3.databaseName=B2BAC
ds.3.dropDatabase=false
ds.3.id=megUIDS
ds.3.jndiName=jdbc/MEGUI
ds.3.maxIdleTime=300
ds.3.maxPoolSize=10
ds.3.minPoolSize=5
ds.3.password=correctPasswordHere
ds.3.portNumber=1521
ds.3.serverName=correctHostHere
ds.3.type=javax.sql.ConnectionPoolDataSource
ds.3.user=correctUserHere
ds.3.vendor=Oracle

Example of a SQL Server data source properties file

This code is an example of the SQL Server data source properties file:

# There are 4 data sources that must be defined for the product. Each data source
# has multiple properties, so all the properties for one data source must have
# the same prefix with expected format of "ds.#.". For each data source it is
# expected that the vendor selection and the connection and vendor specific
# properties will need to be updated. Specifically it is expected that these
# following properties will be updated:
# ds.#.vendor - should be updated to indicate which database type is being used
# ds.#.serverName - should be updated with appropriate database host/ip for that data source
# ds.#.portNumber - should be updated with port that database server is using for that data source
# ds.#.user - should be updated with username to connect to database server with for that data source
# ds.#.password - should be updated with password needed to connect to database server with the user 
                  for that data source

ds.0.connectionTimeout=10
ds.0.currentSchema=ID_SCHEMA
ds.0.databaseName=B2BAC_DB
ds.0.dropDatabase=false
ds.0.id=identityServerDS
ds.0.jndiName=jdbc/IdentityServerRepositoryDataSource
ds.0.maxIdleTime=300
ds.0.maxPoolSize=10
ds.0.minPoolSize=5
ds.0.password=correctPasswordHere
ds.0.portNumber=1433
ds.0.serverName=correctHostHere
ds.0.transactional=false
ds.0.type=javax.sql.ConnectionPoolDataSource
ds.0.user=correctUserHere
ds.0.vendor=SQLServer

ds.1.connectionTimeout=10
ds.1.currentSchema=CO_SCHEMA
ds.1.databaseName=B2BAC_DB
ds.1.dropDatabase=false
ds.1.id=megCommsDS
ds.1.jndiName=jdbc/MegCommsDataSource
ds.1.maxIdleTime=300
ds.1.maxPoolSize=10
ds.1.minPoolSize=5
ds.1.password=correctPasswordHere
ds.1.portNumber=1433
ds.1.serverName=correctHostHere
ds.1.transactional=false
ds.1.type=javax.sql.ConnectionPoolDataSource
ds.1.user=correctUserHere
ds.1.vendor=SQLServer

ds.2.connectionTimeout=10
ds.2.currentSchema=IN_SCHEMA
ds.2.databaseName=B2BAC_DB
ds.2.dropDatabase=false
ds.2.id=megInfrastructureDS
ds.2.jndiName=jdbc/MEGInfrastructureDataSource
ds.2.maxIdleTime=300
ds.2.maxPoolSize=10
ds.2.minPoolSize=5
ds.2.password=correctPasswordHere
ds.2.portNumber=1433
ds.2.serverName=correctHostHere
ds.2.transactional=false
ds.2.type=javax.sql.ConnectionPoolDataSource
ds.2.user=correctUserHere
ds.2.vendor=SQLServer

ds.3.connectionTimeout=10
ds.3.currentSchema=UI_SCHEMA
ds.3.databaseName=B2BAC_DB
ds.3.dropDatabase=false
ds.3.id=megUIDS
ds.3.jndiName=jdbc/MEGUI
ds.3.maxIdleTime=300
ds.3.maxPoolSize=25
ds.3.minPoolSize=5
ds.3.password=correctPasswordHere
ds.3.portNumber=1433
ds.3.serverName=correctHostHere
ds.3.transactional=false
ds.3.type=javax.sql.ConnectionPoolDataSource
ds.3.user=correctUserHere
ds.3.vendor=SQLServer
	

Example of a Derby data source properties file

This code is an example of a Derby data source properties file:

ds.0.id=identityServerDS
ds.0.type=javax.sql.ConnectionPoolDataSource
ds.0.jndiName=jdbc/IdentityServerRepositoryDataSource
ds.0.minPoolSize=5
ds.0.maxPoolSize=10
ds.0.connectionTimeout=10
ds.0.maxIdleTime=5
ds.0.vendor=Derby
ds.0.databaseName=IDENTITY_SERVER
ds.0.createDatabase=create

ds.1.id=megCommsDS
ds.1.type=javax.sql.ConnectionPoolDataSource
ds.1.jndiName=jdbc/B2BACCommsDataSource
ds.1.minPoolSize=5
ds.1.maxPoolSize=10
ds.1.connectionTimeout=10
ds.1.maxIdleTime=5
ds.1.vendor=Derby
ds.1.databaseName=B2BAC_COMMS
ds.1.createDatabase=create

ds.2.id=megInfrastructureDS
ds.2.type=javax.sql.ConnectionPoolDataSource
ds.2.jndiName=jdbc/MEGInfrastructureDataSource
ds.2.minPoolSize=5
ds.2.maxPoolSize=10
ds.2.connectionTimeout=10
ds.2.maxIdleTime=5
ds.2.vendor=Derby
ds.2.databaseName=B2BAC_INFRASTRUCTURE
ds.2.createDatabase=create

ds.3.id=megUIDS
ds.3.type=javax.sql.ConnectionPoolDataSource
ds.3.jndiName=jdbc/B2BACUI
ds.3.transactional=false
ds.3.minPoolSize=5
ds.3.maxPoolSize=10
ds.3.connectionTimeout=10
ds.3.maxIdleTime=5
ds.3.vendor=Derby
ds.3.databaseName=megui
ds.2.createDatabase=create
ds.3.jdbcDriver.javaxSqlConnectionPoolDataSource=org.apache.derby.jdbc.ClientConnectionPoolDataSource40
ds.3.serverName=localhost
ds.3.portNumber=1527
ds.3.user=app
ds.3.password=unused