Domibus upgrade information
Domibus 5.0.7 (from 5.0.6):
·
Replace the Domibus war and the default plugin(s)
config file(s), property file(s) and jar(s)
·
Update the file cef_edelivery_path/domibus/conf/domibus/internal/activemq.xml and make sure the section has the attribute system-properties-mode="ENVIRONMENT". The line should look exactly like this: <context:property-placeholder
system-properties-mode="ENVIRONMENT"
ignore-resource-not-found="false"
ignore-unresolvable="false"/>
Domibus 5.0.6 (from 5.0.5):
- Replace the Domibus war and the
default plugin(s) config file(s), property file(s) and jar(s)
- Replace the default
dss extension jar into
"/conf/domibus/extensions/lib"
Domibus 5.0.5 (from 5.0.4):
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s)
- Replace the default
dss extension jar into
"/conf/domibus/extensions/lib"
- Run the appropriate
DB migration script (mysql-5.0.4-to-5.0.5-migration.ddl for MySQL or
oracle-5.0.4-to-5.0.5-migration-fix.ddl for Oracle)
Partitioning (only oracle)
Situation A: upgrading an existing 5.0.4 database,
that contains user messages and was partitioned
- Run as
edelivery_user:
@oracle-5.0-partition-migration-procedures.sql
EXECUTE MIGRATE_5_0_4_PARTITIONED_TO_5_0_5;
Situation B: upgrading an existing 5.0.4 database,
that contains user messages and was not partitioned
- Run as
edelivery_user:
@oracle-5.0.5-partitioning-fix.ddl
Domibus 5.0.4 (from 5.0.3):
- Replace the Domibus
war
- Replace the default
plugin(s) property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
Partitioning (only oracle)
Situation A: upgrading an existing 5.0.3 database,
that contains user messages and was partitioned
·
no changes needed
Situation B: upgrading an existing 5.0.3 database,
that contains user messages and was not partitioned
- Run as sys:
GRANT EXECUTE ON DBMS_LOCK TO <edelivery_user>;
- Run as
edelivery_user:
@oracle-5.0-partition-migration-procedures.sql
EXECUTE MIGRATE_5_0_3_UNPARTITIONED_TO_5_0_4;
@oracle-5.0-partition-detail-tables.sql
@oracle-5.0-create-partitions-job.sql
Domibus 5.0.3 (from 5.0.2):
- Replace the Domibus
war
Partitioning (only oracle)
Situation A: upgrading an existing 5.0.2 database,
that contains user messages and was partitioned
- Run as
edelivery_user:
@oracle-5.0-partition-migration-procedures.sql
EXECUTE MIGRATE_5_0_2_PARTITIONED_TO_5_0_3;
Situation B: upgrading an existing 5.0.2 database,
that contains user messages and was not partitioned
- Run as sys:
GRANT EXECUTE ON DBMS_LOCK TO <edelivery_user>;
- Run as
edelivery_user:
@oracle-5.0-partition-migration-procedures.sql
EXECUTE MIGRATE_5_0_2_UNPARTITIONED_TO_5_0_3;
@oracle-5.0-partition-detail-tables.sql
@oracle-5.0-create-partitions-job.sql
Domibus 5.0.2 (from 5.0.1):
- Replace the Domibus
war
- Run the appropriate
DB migration script(mysql-5.0.1-to-5.0.2-migration.ddl for MySQL or
oracle-5.0.1-to-5.0.2-migration.ddl for Oracle)
Partitioning (only oracle)
Situation A: partitioning an existing 5.0.2
database, that contains user messages and was not partitioned
- Run as sys:
GRANT EXECUTE ON DBMS_LOCK TO <edelivery_user>;
- Run as
edelivery_user:
@oracle-5.0-partition-migration-procedures.sql
EXECUTE MIGRATE_5_0_1_PARTITIONED_TO_5_0_2;
@oracle-5.0-partition-detail-tables.sql
@oracle-5.0-create-partitions-job.sql
Situation B: partitioning an empty 5.0.2 database
that was not partitioned
- Run as
edelivery_user:
@oracle-5.0.2-partitioning.ddl
Domibus 5.0.1 (from 5.0):
- Replace the Domibus
war
- Run the appropriate
DB migration script(mysql-5.0-to-5.0.1-migration.ddl for MySQL or
oracle-5.0-to-5.0.1-migration.ddl for Oracle)
Domibus 5.0 (from 4.2.9)
Multitenancy only
-
domibus.security.keystore.* and domibus.security.truststore.* properties are
used only the first time domibus starts and persisted in the DB to be used from
there on;
- Create a folder
named "domains" in "conf/domibus" and, inside it, create a
new folder for every domain (e.g. conf/domibus/domains/domain1)
- Move the
super-domibus.properties file into "conf/domibus/domains"
- For each domain,
move its properties file into the domain folder (e.g. move
domain1-domibus.properties into conf/domibus/domains/domain1/)
- For each domain,
move its logback file into the domain folder (e.g. move domain1-logback.xml
into conf/domibus/domains/domain1/)
and then update
the reference to the domain logback file in the main logback.xml file, in the
multitenancy section
- For each domain,
move domain_name_clientauthentication.xml file into the domain folder (e.g.
move conf/domibus/domain1_clientauthentication.xml
into
conf/domibus/domains/domain1/domain1_clientauthentication.xml)
- For each domain,
create a "keystores" folder (e.g.
conf/domibus/domains/domain1/keystores) and move inside it the keystores used
by that domain;
update the
"domibus.security.keystore.location" and
"domibus.security.truststore.location" paths in the domain properties
file
- Plugins:
* Create a
folder named "domains" in "conf/domibus/plugins/config"
and, inside it, create a new folder for every domain (e.g.
conf/domibus/plugins/config/domains/domain1)
* FS-Plugin
multitenancy installation: move any domain specific properties from
fs-plugin.properties
to a domain
specific property file (e.g.
conf/domibus/plugins/config/domains/domain1/domain1-fs-plugin.properties)
* WS-Plugin
multitenancy installation: move any domain specific properties from
ws-plugin.properties
to a domain
specific property file (e.g.
conf/domibus/plugins/config/domains/domain1/domain1-ws-plugin.properties)
* JMS-Plugin
multitenancy installation: move any domain specific properties from
jms-plugin.properties
to a domain specific property file (e.g.
conf/domibus/plugins/config/domains/domain1/domain1-jms-plugin.properties)
Please note that
these changes need to be done for the "default" domain too, and that
the properties in the properties files are still prefixed with the domain name.
Tomcat only
o [Mysql only]
o update
the "domibus.datasource.url" properties:
domibus.datasource.url=jdbc:mysql://${domibus.database.serverName}:${domibus.database.port}/${domibus.database.schema}?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
o in file
"cef_edelivery_path/domibus/conf/domibus/internal/activemq.xml":
- in
the destinations section add the following queues:
.............................
<destinations>
.............................
<queue
id="wsPluginSendQueue"
physicalName="${wsplugin.send.queue:domibus.wsplugin.send.queue}"/>
.............................
</destinations>
.............................
- in the redeliveryPolicyEntries
section add the following entries:
.............................
<redeliveryPolicyEntries>
.............................
<redeliveryPolicy
queue="${wsplugin.send.queue:domibus.wsplugin.send.queue}"
maximumRedeliveries="0"/>
.............................
</redeliveryPolicyEntries>
.............................
o If you use
custom queues please update the following in the file
"cef_edelivery_path/domibus/conf/domibus/internal/activemq.xml".
If you
don't use custom queues just replace the old file with the new file version:
- in the
policies section add the following:
.............................
<policyEntries>
.............................
<policyEntry
queue="domibus.internal.earchive.notification.queue">
<deadLetterStrategy>
<!--<individualDeadLetterStrategy
queuePrefix="DLQ."/>-->
<sharedDeadLetterStrategy processExpired="false">
<deadLetterQueue>
<queue
physicalName="domibus.internal.earchive.notification.dlq"/>
</deadLetterQueue>
</sharedDeadLetterStrategy>
</deadLetterStrategy>
<dispatchPolicy>
<priorityDispatchPolicy/>
</dispatchPolicy>
</policyEntry>
- in the
destinations section add the following queues:
.............................
<destinations>
.............................
<queue id="eArchiveQueue"
physicalName="domibus.internal.earchive.queue"/>
<queue
id="eArchiveNotificationQueue"
physicalName="domibus.internal.earchive.notification.queue"/>
<queue id="eArchiveNotificationDLQ"
physicalName="domibus.internal.earchive.notification.dlq"/>
- in the redeliveryPolicyEntries section add
the following entries:
.............................
<redeliveryPolicyEntries>
.............................
<redeliveryPolicy queue="domibus.internal.earchive.queue"
maximumRedeliveries="0"/>
<redeliveryPolicy queue="domibus.internal.earchive.notification.queue"
maximumRedeliveries="6" redeliveryDelay="1800000"/>
<redeliveryPolicy
queue="domibus.internal.earchive.notification.dlq"
maximumRedeliveries="0"/>
- in
the discardingDLQBrokerPlugin update the dropOnly parameter value as below:
- original:
<discardingDLQBrokerPlugin dropAll="false"
dropOnly="domibus.internal.dispatch.queue domibus.internal.pull.queue
domibus.internal.alert.queue" reportInterval="10000"/>
-new configuration:
<discardingDLQBrokerPlugin dropAll="false"
dropOnly="domibus.internal.dispatch.queue domibus.internal.pull.queue
domibus.internal.alert.queue domibus.internal.earchive.queue
domibus.internal.earchive.notification.dlq"
reportInterval="10000"/>
Wildfly only
o in file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
- add the
following queues in the destination section
.............................
<jms-destinations>
.............................
<jms-queue name="DomibusEArchiveQueue"
entries="java:/jms/domibus.internal.earchive.queue
java:/jms/queue/DomibusEArchiveQueue" durable="true"/>
<jms-queue
name="DomibusEArchiveNotificationQueue"
entries="java:/jms/domibus.internal.earchive.notification.queue
java:/jms/queue/DomibusEArchiveNotificationQueue" durable="true"/>
<jms-queue name="DomibusEArchiveNotificationDLQ"
entries="java:/jms/domibus.internal.earchive.notification.dlq
java:/jms/queue/DomibusEArchiveNotificationDLQ"
durable="true"/>
.............................
</jms-destinations>
.............................
- in the address-settings section
o
add the following address-setting configurations:
.............................
<address-settings>
.............................
<address-setting
name="jms.queue.DomibusEArchiveQueue"
expiry-address="jms.queue.ExpiryQueue"
max-delivery-attempts="0"/>
<address-setting name="jms.queue.DomibusEArchiveNotificationQueue"
expiry-address="jms.queue.DomibusEArchiveNotificationDLQ"
max-delivery-attempts="6"/>
<address-setting
name="jms.queue.DomibusEArchiveNotificationDLQ"
expiry-address="jms.queue.ExpiryQueue" max-delivery-attempts="0"/>
.............................
</address-settings>
.............................
Weblogic only
o execute the
WLST API script remove.py (from "/conf/domibus/scripts/upgrades")
4.2-to-5.0-Weblogic-removeJDBCDatasources.properties to remove the 2
datasources of 4.2 (wlstapi.cmd ../scripts/remove.py --property
../deleteDatasources.properties)
o execute the
WLST API script import.py (from "/conf/domibus/scripts/upgrades")
4.2-to-5.0-WeblogicSingleServer.properties for single server deployment or
4.2-to-5.0-WeblogicCluster.properties for cluster deployment
o [Mysql only]
o update the JDBC connection
URL value in the Admin Console for your data sources by appending
"&useLegacyDatetimeCode=false&serverTimezone=UTC"
(without surrounding quotes) to their end:
jdbc:mysql://localhost:3306/domibus?autoReconnect=true&useSSL=false
should be changed to
jdbc:mysql://localhost:3306/domibus?autoReconnect=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
DB migration script
- Run the appropriate
DB migration script:
o [Oracle only]
- single
tenancy: oracle-4.2.9-to-5.0-migration.ddl
-
multitenancy:
- general
schema: oracle-4.2.9-to-5.0-multi-tenancy-migration.ddl
- domain
schemas: oracle-4.2.9-to-5.0-migration.ddl
o [Mysql only]
The scripts
below - please adapt to your local configuration (i.e. users, database names) -
can be run using either:
- the root
user, specifying the target databases as part of the command. For example, for
single tenancy:
mysql -u root -p domibus < mysql-4.2.9-to-5.0-migration.ddl
or,
for multitenancy:
mysql -u root -p domibus_general <
mysql-4.2.9-to-5.0-multi-tenancy-migration.ddl
mysql -u root -p domibus_domain_1 < mysql-4.2.9-to-5.0-migration.ddl
- the
non-root user (e.g. edelivery): for which the root user must first relax the
conditions on function creation by granting the SYSTEM_VARIABLES_ADMIN right to
the non-root user:
GRANT SYSTEM_VARIABLES_ADMIN ON *.*
TO 'edelivery'@'localhost';
and then
specifying the target databases as part of the command. For example, for single
tenancy:
mysql -u edelivery -p domibus < mysql-4.2.9-to-5.0-migration.ddl
or,
for multitenancy:
mysql -u edelivery -p domibus_general <
mysql-4.2.9-to-5.0-multi-tenancy-migration.ddl
mysql -u edelivery -p domibus_domain_1 <
mysql-4.2.9-to-5.0-migration.ddl.
Data migration
- Data migration
scripts should be run in order to migrate data from old tables to the new
tables:
Oracle only
Domibus
application (.war) should be stopped while running these:
- single
tenancy:
- step
1: oracle-4.2.9-to-5.0-data-migration-step1.ddl (it will drop and then recreate
new version of the tables - errors which appear during dropping could be
ignored)
- UTC
date migration step: execute the migrate procedure from the
MIGRATE_42_TO_50_utc_conversion package providing the correct TIMEZONE
parameter - i.e. the timezone ID in which the date time values have been previously
saved (e.g. 'Europe/Brussels') -;
- step
2: oracle-4.2.9-to-5.0-data-migration-step2.ddl (it will create the package for
data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
- step
3: oracle-4.2.9-to-5.0-data-migration-step3.ddl (this step will finish the
migration - during this step 4.2 version of the tables will be renamed to
OLD_);
This step isn't reversible so it must be
executed once step 1 and step 2 are successful
-
(Optional) step 4: oracle-4.2.9-to-5.0-data-migration-step4.ddl (during this
step the original tables and the migration subprograms are dropped)
This
step isn't reversible so it must be executed once step 1, step 2 and step3 are
successful
-
(Optional) partitioning: oracle-5.0-partitioning.ddl (if you further plan on
using Oracle partitions in an Enterprise Editions database)
-
multitenancy:
-
general schema:
-
step 1: oracle-4.2.9-to-5.0-data-migration-multi-tenancy-step1.ddl (it will
drop and then recreate new version of the tables - errors which appear during
dropping could be ignored)
-
UTC date migration step: execute the migrate_multitenancy procedure from the
MIGRATE_42_TO_50_utc_conversion package providing the correct TIMEZONE
parameter - i.e. the timezone ID in which the date time values have been
previously saved (e.g. 'Europe/Brussels') -;
-
step 2: oracle-4.2.9-to-5.0-data-migration-multi-tenancy-step2.ddl (it will
create the package for data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
- step 3:
oracle-4.2.9-to-5.0-data-migration-multi-tenancy-step3.ddl (this step will
finish the migration - during this step 4.2 version of the tables will be
renamed to OLD_);
This step isn't reversible so it must be executed once step 1 and step 2
are successful
-
(Optional) step 4: oracle-4.2.9-to-5.0-data-migration-multi-tenancy-step4.ddl
(during this step the original tables and the migration subprograms are
dropped)
This step isn't reversible so it
must be executed once step 1, step 2 and step3 are successful
-
domain schemas:
-
step 1: oracle-4.2.9-to-5.0-data-migration-step1.ddl (it will drop and then
recreate new version of the tables - errors which appear during dropping could
be ignored)
-
UTC date migration step: execute the migrate procedure from the
MIGRATE_42_TO_50_utc_conversion package providing the correct TIMEZONE
parameter - i.e. the timezone ID in which the date time values have been
previously saved (e.g. 'Europe/Brussels') -;
-
step 2: oracle-4.2.9-to-5.0-data-migration-step2.ddl (it will create the
package for data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
-
step 3: oracle-4.2.9-to-5.0-data-migration-step3.ddl (this step will finish the
migration - during this step 4.2 version of the tables will be renamed to
OLD_);
This step isn't reversible so it must be executed once step 1 and step 2
are successful
-
(Optional) step 4: oracle-4.2.9-to-5.0-data-migration-step4.ddl (during this
step the original tables and the migration subprograms are dropped)
This step isn't reversible so it must be executed once step 1, step 2
and step3 are successful
-
(Optional) partitioning: oracle-5.0-partitioning.ddl (if you further plan on
using Oracle partitions in an Enterprise Editions database)
- grant privileges to the general schema
using oracle-5.0-multi-tenancy-rights.sql, updating the schema names before
execution
Mysql only
The scripts
below - please adapt to your local configuration (i.e. users, database names) -
can be run using either:
- the
root user, specifying the target databases as part of the command. For example,
for single tenancy:
mysql -u root -p domibus <
mysql-4.2.9-to-5.0-data-migration-step1.ddl
or, for
multitenancy:
mysql -u root -p domibus_general <
mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step1.ddl
mysql -u root -p domibus_domain_1 < mysql-4.2.9-to-5.0-data-migration-step1.ddl
- or the
non-root user (e.g. edelivery): for which the root user must first relax the
conditions on function creation by granting the SYSTEM_VARIABLES_ADMIN right to
the non-root user:
GRANT SYSTEM_VARIABLES_ADMIN ON
*.* TO 'edelivery'@'localhost';
and then
specifying the target databases as part of the command. For example, for single
tenancy:
mysql -u edelivery -p domibus <
mysql-4.2.9-to-5.0-data-migration-step1.ddl
or,
for multitenancy:
mysql -u edelivery -p domibus_general <
mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step1.ddl
mysql -u edelivery -p
domibus_domain_1 < mysql-4.2.9-to-5.0-data-migration-step1.ddl.
Domibus
application (.war) should be stopped while running these:
- single
tenancy:
- step 1:
mysql-4.2.9-to-5.0-data-migration-step1.ddl (it will drop and then recreate new
version of the tables - errors which appear during dropping could be ignored)
- UTC
date migration step
1.
Identify your current named time zone such as 'Europe/Brussels', 'US/Eastern',
'MET' or 'UTC' (e.g. issue SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;)
2.
Populate the MySQL time zone tables if not already done: https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html#time-zone-installation
3.
call the MIGRATE_42_TO_50_utc_conversion procedure providing the correct
TIMEZONE named time zone parameter identified above - i.e. the timezone ID in
which the date time values have been previously saved -;
- step
2: mysql-4.2.9-to-5.0-data-migration-step2.ddl (it will create the package for
data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
- step
3: mysql-4.2.9-to-5.0-data-migration-step3.ddl (this step will finish the
migration - during this step 4.2 version of the tables will be renamed to
OLD_);
This
step isn't reversible so it must be executed once step 1 and step 2 are
successful
-
(Optional) step 4: mysql-4.2.9-to-5.0-data-migration-step4.ddl (during this
step the original tables and the migration subprograms are dropped)
This
step isn't reversible so it must be executed once step 1, step 2 and step3 are
successful
-
multitenancy:
-
general database:
-
step 1: mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step1.ddl (it will drop
and then recreate new version of the tables - errors which appear during
dropping could be ignored)
-
UTC date migration step
1. Identify your current named time zone such as 'Europe/Brussels',
'US/Eastern', 'MET' or 'UTC' (e.g. issue SELECT @@GLOBAL.time_zone,
@@SESSION.time_zone;)
2. Populate the MySQL time zone tables if not already done:
https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html#time-zone-installation
3. call the MIGRATE_42_TO_50_utc_conversion_multitenancy procedure
providing the correct TIMEZONE named time zone parameter identified above -
i.e. the timezone ID in which the date time values have been previously saved
-;
-
step 2: mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step2.ddl (it will
create the package for data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
-
step 3: mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step3.ddl (this step
will finish the migration - during this step 4.2 version of the tables will be
renamed to OLD_);
This step isn't reversible so it must be executed once step 1 and step 2
are successful
-
(Optional) step 4: mysql-4.2.9-to-5.0-data-migration-multi-tenancy-step4.ddl
(during this step the original tables and the migration subprograms are
dropped)
This step isn't reversible so it must be executed once step 1, step 2
and step3 are successful
-
domain databases:
-
step 1: mysql-4.2.9-to-5.0-data-migration-step1.ddl (it will drop and then
recreate new version of the tables - errors which appear during dropping could
be ignored)
- UTC date
migration step
1. Identify your current named time zone such as 'Europe/Brussels',
'US/Eastern', 'MET' or 'UTC' (e.g. issue SELECT @@GLOBAL.time_zone,
@@SESSION.time_zone;)
2. Populate the
MySQL time zone tables if not already done:
https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html#time-zone-installation
3. call the MIGRATE_42_TO_50_utc_conversion procedure providing the
correct TIMEZONE named time zone parameter identified above - i.e. the timezone
ID in which the date time values have been previously saved -;
-
step 2: mysql-4.2.9-to-5.0-data-migration-step2.ddl (it will create the package
for data migration, run the migration procedure)
If
migration procedure fails step 1 and step 2 could be run again. Once migration
procedure ends successfully we could proceed to step 3
- step 3:
mysql-4.2.9-to-5.0-data-migration-step3.ddl (this step will finish the
migration - during this step 4.2 version of the tables will be renamed to
OLD_);
This step isn't reversible so it must be executed once step 1 and step 2
are successful
-
(Optional) step 4: mysql-4.2.9-to-5.0-data-migration-step4.ddl (during this
step the original tables and the migration subprograms are dropped)
This step isn't reversible so it must be executed once step 1, step 2
and step3 are successful
Cache
- Update the
"/conf/domibus/internal/ehcache.xml" cache definitions file:
- If you use
custom caches definitions defined in this file replace the old file with the
new file and perform the following steps:
Replace: <cache
alias="policyCache">
<expiry>
<ttl>3600</ttl>
</expiry>
<heap unit="MB">5</heap>
</cache>
With:
<cache alias="policyCache">
<expiry>
<ttl>3600</ttl>
</expiry>
<heap unit="entries">5000</heap>
</cache>
Or with
<cache alias="policyCache"
uses-template="ttl-3600-heap-5000"/> if you want to reuse
cache-template "ttl-3600-heap-5000" already defined by Domibus
- If you don't use
custom caches just replace the old file with the new file version
- Add a new cache
key named "domibusPropertyMetadata"
- [Wildfly only]
o [Mysql only]
o in
standalone-full.xml, update the connectionUrl element for your data sources by
appending
"&useLegacyDatetimeCode=false&serverTimezone=UTC"
(without surrounding quotes) to their end:
<connection-url>jdbc:mysql://localhost:3306/domibus?autoReconnect=true&useSSL=false</connection-url>
should be changed to
<connection-url>jdbc:mysql://localhost:3306/domibus?autoReconnect=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC</connection-url>
o in file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
- add the
following queues
.............................
<subsystem
xmlns="urn:jboss:domain:messaging-activemq:3.0">
<server name="default">
.............................
<address-setting name="jms.queue.DomibusWSPluginSendQueue"
expiry-address="jms.queue.ExpiryQueue"
max-delivery-attempts="0"/>
<jms-queue
name="DomibusWSPluginSendQueue"
entries="java:/jms/domibus.wsplugin.send.queue
java:/jms/queue/DomibusWSPluginSendQueue" durable="true"/>
.............................
</server>
</subsystem>
.............................
- [Tomcat only]
Domibus properties changes:
o Modify the
Domibus properties file "\conf\domibus\domibus.properties":
- rename the
"domibus.jms.XAConnectionFactory.maxPoolSize" property to
"domibus.jms.connectionFactory.maxPoolSize" (if present)
-
remove these properties:
- domibus.datasource.xa.*
-
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.factory_class
-
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.jta.platform
- all properties starting with domibus.ui.replication.enabled
- domibus.jms.queue.ui.replication
-
replace the value of the
"domibus.entityManagerFactory.jpaProperty.hibernate.connection.driver_class"
property as follows:
- set the value to "com.mysql.cj.jdbc.Driver" if it was
"com.mysql.cj.jdbc.MysqlXADataSource"
- set the value to "oracle.jdbc.driver.OracleDriver" if it was
"oracle.jdbc.xa.client.OracleXADataSource"
o [Tomcat
only]
- Remove
all properties under the section "Atomikos"( all com.atomikos.*
properties)
o [WebLogic
only]
- in the
WebLogic console, change the eDeliveryConnectionFactory JMS connection factory
from XA to non-XA (section eDeliveryConnectionFactory->Configuration->Transactions:
uncheck "XA Connection Factory Enabled")
o [Wildfly
only]
- in the
file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
-
remove the <xa-datasource
jndi-name="java:/jdbc/cipaeDeliveryDs"...> datasource
-
clone the <datasource
jndi-name="java:/jdbc/cipaeDeliveryNonXADs"...> datasource and set
the jndi-name attribute to "java:/jdbc/cipaeDeliveryDs" and the pool-name
attribute to either "eDeliveryMysqlDS" or
"eDeliveryOracleDS"
Other common changes
- Replace the Domibus
war
- The minimum password
length for users has increased to 16 and it is recommended to change them for
the existing users
- Rename
conf/domibus/default_clientauthentication.xml to
conf/domibus/clientauthentication.xml
- Replace the default
plugins property files and jars into "conf/domibus/plugins/config"
respectively into "/conf/domibus/plugins/lib"
- Custom 4.2.x plugins
are no longer compatible with Domibus 5.0 and must be adapted to use the new
plugin api. For more details please check the Plugin Cookbook.
The following API
has been removed:
o classes: eu.domibus.submission.WeblogicNotificationListenerService,
eu.domibus.plugin.NotificationListener,
eu.domibus.plugin.NotificationListenerService, eu.domibus.common.JMSConstants,
eu.domibus.plugin.QueueMessageLister, eu.domibus.plugin.MessageLister,
eu.domibus.core.plugin.notification.QueueMessageListerConfiguration
o methods:
eu.domibus.plugin.BackendConnector.listPendingMessages(),
eu.domibus.plugin.AbstractBackendConnector.listPendingMessages()
eu.domibus.plugin.BackendConnector.messageSendFailed(java.lang.String),
eu.domibus.plugin.BackendConnector.messageSendSuccess(java.lang.String),
eu.domibus.plugin.BackendConnector.deliverMessage(java.lang.String),
eu.domibus.ext.services.DomibusPropertyManagerExt.setKnownPropertyValue(java.lang.String,
java.lang.String, java.lang.String),
eu.domibus.common.DeliverMessageEvent.setFinalRecipient(java.lang.String),
eu.domibus.common.DeliverMessageEvent.getFinalRecipient(java.lang.String),
eu.domibus.common.DeliverMessageEvent.getProperties(),
eu.domibus.common.MessageDeletedBatchEvent.getMessageIds,
eu.domibus.common.MessageDeletedBatchEvent.setMessageIds,
eu.domibus.common.MessageSendFailedEvent.getProperties,
eu.domibus.common.MessageSendSuccessEvent.getProperties,
eu.domibus.common.MessageStatusChangeEvent.getProperties,
eu.domibus.common.PayloadAbstractEvent.getProperties,
eu.domibus.ext.services.DomibusPropertyExtService.getDomainProperty(eu.domibus.ext.domain.DomainDTO,
java.lang.String),
eu.domibus.ext.services.DomibusPropertyExtService.setDomainProperty,
eu.domibus.ext.services.DomibusPropertyExtService.getDomainProperty,
eu.domibus.ext.services.DomibusPropertyExtService.getDomainResolvedProperty,
eu.domibus.ext.services.DomibusPropertyExtService.getResolvedProperty,
eu.domibus.ext.services.PModeExtService.updatePModeFile(byte[],
java.lang.String)
Domibus 4.2.12 (from 4.2.11):
- Replace the Domibus
war
- Replace the default
dss extension jar into
"/conf/domibus/extensions/lib"
Domibus 4.2.11 (from 4.2.10):
- Replace the Domibus
war
Domibus 4.2.10 (from 4.2.9):
- Replace the Domibus
war
Domibus 4.2.9 (from 4.2.8):
- Replace the Domibus
war
Domibus 4.2.8 (from 4.2.7):
- Replace the Domibus
war
Domibus 4.2.7 (from 4.2.6):
- Replace the Domibus
war
Domibus 4.2.6 (from 4.2.5):
- Please remove the
following properties from the file /conf/domibus/extensions/config/authentication-dss-extension.properties:
-
domibus.authentication.dss.custom.trusted.lists.list1.code
-
domibus.authentication.dss.lotl.country.code=EU
-
domibus.dss.data.loader.connection.request.timeout
- Ehcache has been
upgraded to version 3.8.1 affecting
"/conf/domibus/internal/ehcache.xml" cache definitions file:
- If you use
custom caches definitions defined in this file replace the old file with the
new file and perform the following steps:
Replace: <cache name="policyCache"
maxBytesLocalHeap="5m"
timeToLiveSeconds="3600"
overflowToDisk="false" >
</cache>
With:
<cache alias="policyCache">
<expiry>
<ttl>3600</ttl>
</expiry>
<heap unit="MB">5</heap>
</cache>
Or with
<cache alias="policyCache"
uses-template="ttl-3600-heap-5mb"/> if you want to reuse
cache-template "ttl-3600-heap-5mb" already defined by Domibus
Replace:
Configured dss-cache
with:
<cache
alias="dss-cache"><expiry><ttl>3600</ttl></expiry><heap
unit="MB">50</heap></cache>
- If you don't use
custom caches just replace the old file with the new file version
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/conf/domibus/plugins/config" respectively into
"/conf/domibus/plugins/lib"
Domibus 4.2.5 (from 4.2.4):
- Replace the Domibus
war
- Replace the default
dss extension jar into "/conf/domibus/extensions/lib"
- Remove all revoked certificates
from /conf/domibus/keystores/dss-tls-truststore.p12
Domibus 4.2.4 (from 4.2.3):
- Replace the Domibus
war
Domibus 4.2.3 (from 4.2.2):
- Run the appropriate
DB migration script(mysql-4.2.2-to-4.2.3-migration.ddl for MySQL or
oracle-4.2.2-to-4.2.3-migration.ddl for Oracle)
- Replace the Domibus
war
- Replace the default
plugins property files and jars into "conf/domibus/plugins/config"
respectively into "/conf/domibus/plugins/lib"
- Replace the default
dss extension jar into
"/conf/domibus/extentions/lib"
Domibus 4.2.2 (from 4.2.1):
- [Mysql8 only]
- Grant
XA_RECOVER_ADMIN privilege to the user:
In MySQL 8.0,
XA_RECOVER is permitted only to users who have the XA_RECOVER_ADMIN privilege.
Prior to MySQL 8.0, any user could execute this and discover the XID values of
XA transactions by other users.
This privilege requirement prevents
users from discovering the XID values for outstanding prepared XA transactions
other than their own.
- GRANT
XA_RECOVER_ADMIN ON *.* TO 'edelivery_user'@'localhost';
- Execute below
command to flush privileges:
When we grant
some privileges for a user, running this command will reloads the grant tables
in the mysql database enabling the changes to take effect without reloading or
restarting mysql service.
- FLUSH
PRIVILEGES;
- Run the appropriate
DB migration script(mysql-4.2.1-to-4.2.2-migration.ddl for MySQL or
oracle-4.2.1-to-4.2.2-migration.ddl for Oracle)
- Replace the Domibus
war
- Replace the default
plugins property files and jars into "conf/domibus/plugins/config"
respectively into "/conf/domibus/plugins/lib"
- Change the name of
'domibus.ui.resend.action.enabled.received.minutes' property to
'domibus.action.resend.wait.minutes' in domibus.properties file.
Domibus 4.2.1 (from 4.2):
- [Oracle only]
- Grant access to
your user to create stored procedures:
Open a command
line session and log in (edelivery_user and password are the ones assigned
during the Oracle installation):
$ sqlplus
sys as sysdba
Once logged in
Oracle execute:
GRANT
CREATE PROCEDURE TO <edelivery_user>
- Run the appropriate
DB migration script(mysql-4.2-to-4.2.1-migration.ddl for MySQL or
oracle-4.2-to-4.2.1-migration.ddl for Oracle)
- Replace the Domibus
war
- Replace the default
plugins property files and jars into "conf/domibus/plugins/config"
respectively into "/conf/domibus/plugins/lib"
- Replace the default
dss extention jar into
"/conf/domibus/extensions/lib"
Domibus 4.2 (from 4.1.7):
Domibus 4.2 supports
newer version of application servers and databases. Support for Oracle OpenJDK
11 has been also introduced on top of Oracle JDK 8 which was already supported.
It is mandatory to
update to one of the below supported servers and databases.
Servers: Tomcat
9.x, WildFly 20.0.x, WebLogic 12.2.1.4
Database: MySQL 8,
Oracle 12c, Oracle 19c
If you are upgrading
to a new application server, the JMS messages that are not consumed in the
previous server installation must be migrated to the new server installation.
It is optional to
upgrade to Oracle OpenJDK 11, you can still use Domibus 4.2 with Oracle JDK 8.
- Run the appropriate
DB migration script(mysql-4.1.5-to-4.2-migration.ddl for MySQL or
oracle-4.1.5-to-4.2-migration.ddl for Oracle)
- Replace the Domibus
war
- Delete the default
plugins config files(ws-plugin.xml, jms-plugin.xml and fs-plugin.xml) from
"conf/domibus/plugins/config"
- Replace the default
plugins property files and jars into "conf/domibus/plugins/config"
respectively into "/conf/domibus/plugins/lib"
- PMode payload
profile maxSize re-enabled: remove the comment about maxSize <payloadProfile
name="MessageProfile" maxSize="40894464"> <!--
maxSize is currently ignored -->
and replace the
value with maxSize="2147483647" in the PMode file
- Change the name of
domibus.ui.csv.max.rows property to domibus.ui.csv.rows.max in
domibus.properties file
- [Tomcat only]
- if Oracle
database is used, change oracle database configuration property
domibus.datasource.xa.property.URL to domibus.datasource.xa.property.url in
domibus.properties.
- in file
"conf/domibus/internal/activemq.xml"
- remove
properties-ref="domibusProperties" from the line
<context:property-placeholder properties-ref="domibusProperties"
ignore-resource-not-found="true"
ignore-unresolvable="true"/>
- [Multitenancy only]
- run the
appropriate DB migration script (mysql-4.1.5-to-4.2-multi-tenancy-migration.ddl
for MySQL or oracle-4.1.5-to-4.2-multi-tenancy-migration.ddl for Oracle)
- add the
configuration file default-domibus.properties for the 'default' domain from the
distribution
- add the
configuration file super-domibus.properties from the distribution
- in the domain
specific configuration files(eg domain_name-domibus.properties), replace the
names of the domain_name.payload.temp.* properties with
domain_name.domibus.payload.temp.*
- for the domain
specific configuration files, the domain name should start with a letter and it
should contain only lower case letters, numbers and underscore.
- as the property
names in these files need to be prefixed with the domain name, this prefix
needs to follow the same rules as the domain name above
- [Wildfly only]
- in standalone-full.xml - search for
<managed-executor-service name="quartzExecutorService"
jndi-name="java:jboss/ee/concurrency/executor/QuartzExecutorService"
context-service="default" hung-task-threshold="0"
long-running-tasks="true" core-threads="5"
max-threads="25" keepalive-time="5000"/>
and replace
'core-threads="5" max-threads="25"' with
'core-threads="100" max-threads="300"'
<managed-executor-service name="domibusExecutorService"
jndi-name="java:jboss/ee/concurrency/executor/DomibusExecutorService"
context-service="default" hung-task-threshold="60000"
core-threads="50" max-threads="200"
keepalive-time="5000"/>
and replace
'core-threads="50" max-threads="200"' with 'core-threads="200"
max-threads="500"'
- in
standalone-full.xml - add
<managed-executor-service name="mshExecutorService"
jndi-name="java:jboss/ee/concurrency/executor/MshExecutorService"
context-service="default" hung-task-threshold="60000"
core-threads="100" max-threads="300"
keepalive-time="5000"/>
- [WebLogic only]
- execute the WLST
API script(from "/conf/domibus/scripts/upgrades")
4.1.6-to-4.2-WeblogicSingleServer.properties for single server deployment or
4.1.6-to-4.2-WeblogicCluster.properties for cluster deployment
- [Custom plugins] For
custom plugins the interface to Domibus has changed. Please follow the Plugin
Cookbook sections:
- 8. DEPRECATED
API AND MIGRATING TO THE NEW API - to update the notification listener to the
plugins
- 4. PLUGIN
PROPERTIES - to update the registration of plugin properties with Domibus and
their retrieval
- 3.9. Ehcache -
to follow the new structure of ehcache if the plugin creates its own caches.
Domibus 4.2 (from 4.2-RC1):
- Run the appropriate
DB migration script(mysql-4.2-RC1-to-4.2-migration.ddl for MySQL or
oracle-4.2-RC1-to-4.2-migration.ddl for Oracle)
- Replace the Domibus
war
- Replace the default plugin(s) property
file(s) and jar(s) into "/domibus/conf/domibus/plugins/config"
respectively into "/domibus/conf/domibus/plugins/lib"
- Replace the
domibus.properties file(Please comment the property 'domibus.database.schema',
if Domibus is configured in single-tenancy mode with Oracle database)
- [WebLogic only]
- execute the
WLST API script(from "/conf/domibus/scripts/upgrades")
4.1.6-to-4.2-WeblogicSingleServer.properties for single server deployment or
4.1.6-to-4.2-WeblogicCluster.properties for cluster deployment
Domibus 4.1.7:
- Upgraded several libraries
version: Apache CXF to 3.3.8, Hibernate to 5.4.27.Final, BouncyCastle to 1.64,
etc
Domibus 4.1.6 (from 4.1.5)
- Please replace the
Domibus war
Domibus 4.1.5 (from 4.1.3)
- Run the appropriate
DB migration script(mysql5innoDb-4.1.3-to-4.1.5-migration.ddl for MySQL or
oracle10g-4.1.3-to-4.1.5-migration.ddl for Oracle)
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- In case of Dynamic
Discovery where the trust for SMP certificate is established only by issuer
certificate, now the whole chain must be imported in to the truststore
Domibus 4.1.3 (from 4.1.2):
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- [Tomcat only]
o in file
"conf/domibus/internal/activemq.xml":
- remove the
attribute rmiServerPort="${activeMQ.rmiServerPort}" from the
managementContext element
o in file
"/conf/domibus/domibus.properties":
- remove the
property "activeMQ.rmiServerPort"
- update the
JMX URL property to
"activeMQ.JMXURL=service:jmx:rmi:///jndi/rmi://${activeMQ.broker.host}:${activeMQ.connectorPort}/jmxrmi"
Domibus 4.1.2 (from 4.1.1):
- Run the appropriate
DB migration script(mysql5innoDb-4.1.1-to-4.1.2-migration.ddl for MySQL or
oracle10g-4.1.1-to-4.1.2-migration.ddl for Oracle)
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- Replace the current
logback.xml file with the newer version optionally keeping the existing
configuration
- In case you are using multitenancy please
make the following modifications:
- replace
old logback.xml with the newer version optionally keeping the existing
configuration and uncomment the specific sections for multitenancy
- replace each
domain-name_logback.xml file with the newer version optionally keeping the
existing configuration
- add a
configuration file of type domain_name-logback.xml for domain 'default' - it's
mandatory
- for the database
general schema run the appropriate DB migration
script(mysql5innoDb-4.1.1-to-4.1.2-multi-tenancy-migration.ddl for MySQL or
oracle10g-4.1.1-to-4.1.2-multi-tenancy-migration.ddl for Oracle)
- for each
tenant schema in the database run the appropriate DB migration
script(mysql5innoDb-4.1.1-to-4.1.2-migration.ddl for MySQL or
oracle10g-4.1.1-to-4.1.2-migration.ddl for Oracle)
- for
Oracle database, for each tenant schema in the database, grant privileges to
the general schema using oracle10g-4.1.2-multi-tenancy-rights.sql. Please
update the schema name before execution.
- in file
"/conf/domibus/plugins/config/ws-plugin.xml" locate the following
section and add the following beans:
<jaxws:endpoint
id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
.....
<jaxws:features>
<bean
id="loggingFeature" class="org.apache.cxf.ext.logging.LoggingFeature">
<property name="sender"
ref="wsPluginLoggingSender"/>
<property name="limit"
value="${domibus.logging.cxf.limit}"/>
</bean>
</jaxws:features>
......
</jaxws:endpoint>
<!--Message
logger configuration-->
<bean
id="wsPluginLoggingSender"
class="eu.domibus.plugin.webService.impl.logging.DomibusWSPluginLoggingEventSender">
<property
name="printPayload"
value="${domibus.logging.payload.print}"/>
</bean>
Domibus 4.1.1 (from 4.1):
- Please replace the
Domibus war
Domibus 4.1 (from 4.0.2):
- Run the appropriate
DB migration script(mysql5innoDb-4.0.2-to-4.1-migration.ddl for MySQL or
oracle10g-4.0.2-to-4.1-migration.ddl for Oracle)
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- Replace the current
logback.xml file with the newer version optionally keeping the existing
configuration
- In case you are
using multitenancy please perform the following modifications:
- replace
the old logback.xml with the newer version optionally keeping the existing
configuration and uncomment the specific sections for multitenancy
- replace
each domain-name_logback.xml file with the newer version optionally keeping the
existing configuration
- add a
configuration file of type domain_name-logback.xml for domain 'default'
- for the database general schema run
the appropriate DB migration
script(mysql5innoDb-4.0.2-to-4.1-multi-tenancy-migration.ddl for MySQL or
oracle10g-4.0.2-to-4.1-multi-tenancy-migration.ddl for Oracle)
- for each
tenant schema in the database run the appropriate DB migration
script(mysql5innoDb-4.0.2-to-4.1-migration.ddl for MySQL or
oracle10g-4.0.2-to-4.1-migration.ddl for Oracle)
- for
Oracle database, for each tenant schema in the database, grant privileges to
the general schema using oracle10g-4.1-multi-tenancy-rights.sql. Please update
the schema name before execution.
- [WebLogic only]
o in case the probe
URL is used, the new probe URL is /domibus/services/msh
o execute the WLST API script(from
"/conf/domibus/scripts/upgrades")
4.0.2-to-4.1-WeblogicSingleServer.properties for single server deployment or
4.0.2-to-4.1-WeblogicCluster.properties for cluster deployment
- [Wildfly only]
o in case the probe URL is used, the new
probe URL is /domibus/services/msh
o in file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
- add the
following queues
.............................
<subsystem
xmlns="urn:jboss:domain:messaging-activemq:3.0">
<server name="default">
.............................
<address-setting
name="jms.queue.DomibusSendLargeMessageQueue"
expiry-address="jms.queue.ExpiryQueue"
redelivery-delay="1000" max-delivery-attempts="0"/>
<address-setting name="jms.queue.DomibusSplitAndJoinQueue"
expiry-address="jms.queue.ExpiryQueue"
redelivery-delay="60000" max-delivery-attempts="3"/>
<address-setting name="jms.queue.DomibusPullReceiptQueue"
expiry-address="jms.queue.ExpiryQueue"
redelivery-delay="1000" max-delivery-attempts="3"/>
<address-setting
name="jms.queue.DomibusRetentionMessageQueue"
expiry-address="jms.queue.ExpiryQueue"
redelivery-delay="10000" max-delivery-attempts="0"/>
<address-setting name="jms.queue.DomibusFSPluginSendQueue"
expiry-address="jms.queue.ExpiryQueue"
max-delivery-attempts="0"/>
<jms-queue
name="DomibusSendLargeMessageQueue"
entries="java:/jms/domibus.internal.largeMessage.queue
java:/jms/queue/DomibusSendLargeMessageQueue" durable="true"/>
<jms-queue
name="DomibusSplitAndJoinQueue"
entries="java:/jms/domibus.internal.splitAndJoin.queue
java:/jms/queue/DomibusSplitAndJoinQueue" durable="true"/>
<jms-queue
name="DomibusPullReceiptQueue"
entries="java:/jms/domibus.internal.pull.receipt.queue
java:/jms/queue/DomibusPullReceiptQueue" durable="true"/>
<jms-queue
name="DomibusRetentionMessageQueue"
entries="java:/jms/domibus.internal.retentionMessage.queue
java:/jms/queue/DomibusRetentionMessageQueue"
durable="true"/>
<jms-queue
name="DomibusFSPluginSendQueue" entries="java:/jms/domibus.fsplugin.send.queue
java:/jms/queue/DomibusFSPluginSendQueue" durable="true"/>
.............................
</server>
</subsystem>
.............................
- [Tomcat only]
o in file
"cef_edelivery_path/domibus/conf/domibus/internal/activemq.xml":
- in the
destinations section add the following queues:
.............................
<destinations>
.............................
<queue id="sendLargeMessageQueue"
physicalName="domibus.internal.largeMessage.queue"/>
<queue id="splitAndJoinQueue"
physicalName="domibus.internal.splitAndJoin.queue"/>
<queue id="retentionMessageQueue"
physicalName="domibus.internal.retentionMessage.queue"/>
<queue id="sendPullReceiptQueue"
physicalName="domibus.internal.pull.receipt.queue"/>
<queue id="fsPluginSendQueue"
physicalName="${fsplugin.send.queue:domibus.fsplugin.send.queue}"/>
.............................
</destinations>
.............................
- in
the redeliveryPolicyEntries section add the following entries:
.............................
<redeliveryPolicyEntries>
.............................
<redeliveryPolicy
queue="domibus.internal.largeMessage.queue"
maximumRedeliveries="0"/>
<redeliveryPolicy
queue="domibus.internal.splitAndJoin.queue" maximumRedeliveries="3"/>
<redeliveryPolicy
queue="domibus.internal.retentionMessage.queue"
maximumRedeliveries="0"/>
<redeliveryPolicy
queue="domibus.internal.pull.receipt.queue"
maximumRedeliveries="3"/>
<redeliveryPolicy
queue="${fsplugin.send.queue:domibus.fsplugin.send.queue}"
maximumRedeliveries="0"/>
.............................
</redeliveryPolicyEntries>
.............................
- (Optional)
o rename the
property "message.retention.downloaded.max.delete" to
"domibus.retentionWorker.message.retention.downloaded.max.delete" in
your domibus.properties file. If the property is not defined, do nothing.
Default value "50" has not been changed.
o rename the
property "message.retention.not_downloaded.max.delete" to
"domibus.retentionWorker.message.retention.not_downloaded.max.delete"
in your domibus.properties file. If the property is not defined, do nothing.
Default value "50" has not been changed.
- [Recommended] Remove
domibus.msh.retry.tolerance from domibus.properties, if set. The property is
not used anymore.
Domibus 4.0.2 (from 4.0.1):
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
Domibus 4.0.1 (from 4.0.0):
- Run the appropriate
DB migration script(mysql5innoDb-4.0-to-4.0.1-migration.ddl for MySQL or
oracle10g-4.0-to-4.0.1-migration.ddl for Oracle)
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- In case you are
using multitenancy please make the following modifications::
- replace old
logback.xml with the new version of logback.xml keeping existing packages to be
logged and uncomment the proper sections for multitenancy
- replace each
domain-name_logback.xml file with the newer version and keep existing packages
for logging
- add a
configuration file of type domain_name-logback.xml for domain 'default' - it's
mandatory
- for the database
general schema run the appropriate DB migration
script(mysql5innoDb-4.0-to-4.0.1-multi-tenancy-migration.ddl for MySQL or
oracle10g-4.0-to-4.0.1-multi-tenancy-migration.ddl for Oracle)
- for each tenant
schema in the database run the appropriate DB migration script(mysql5innoDb-4.0-to-4.0.1-migration.ddl
for MySQL or oracle10g-4.0-to-4.0.1-migration.ddl for Oracle)
- for Oracle
database, for each tenant schema in the database, grant privileges to the
general schema using oracle10g-4.0.1-multi-tenancy-rights.sql. Please update
the schema name before execution.
Domibus 4.0 (from 3.3.4):
- Run the appropriate
DB migration script(mysql5innoDb-3.3.4-to-4.0-migration.ddl for MySQL or
oracle10g-3.3.4-to-4.0-migration.ddl for Oracle)
- Replace the Domibus
war and the default plugin(s) config file(s), property file(s) and jar(s) into
"/domibus/conf/domibus/plugins/config" respectively into
"/domibus/conf/domibus/plugins/lib"
- The following
changes have been implemented in the Default WS Plugin which is not backward
compatible. The client of the Default WS Plugin need to take into account the
following changes:
o replaced
SendMessageFault with SubmitMessageFault
o replaced
DownloadMessageFault with RetrieveMessageFault
o replaced
PayloadType with LargePayloadType
o
submitRequest.getBodyload() is no longer available and the payloads section
should be used instead
o removed
deprecated methods sendMessage, downloadMessage, getMessageStatus
o
MessageInfo->timestamp type was changed from Date to LocalDateTime
o Removed
Description and Schema fields from PartInfo. These fields are no longer
accepted by Domibus backend
- The backwards
compatibility with the Custom Plugins is not maintained. In order to upgrade
please follow the steps:
o remove the
domibus-ext-services-api Maven dependency; the existing services from the
domibus-ext-services-api have been moved into the plugin-api module under the
same packages.
The service
classes from the domibus-ext-services-api module have been renamed in order not
to be confused with the internal services.
Example:
AuthenticationService was renamed to AuthenticationExtService
AuthenticationException was renamed to AuthenticationExtException
The same pattern has been
used for the other services and exceptions.
o replace the
Maven dependency commons-lang with commons-lang3 like below:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<scope>provided</scope>
</dependency>
- PEPPOL dynamic
discovery was updated to the PEPPOL profile requirements.
The value of
eb:UserMessage/eb:CollaborationInfo/eb:Service matches now the entire
Scheme::ProcessIdentifier construction while
the Service@type is
not taken into consideration and therefore can take any needed value.
- [WebLogic only]
o Modify the XA datasource
"cipaeDeliveryDs" settings in the WebLogic Console
- In the
"cipaeDeliveryDs" datasource menu, tab Configuration/Transaction,
enable the setting "Set XA Transaction Timeout"
o Modify file
"/conf/domibus/domibus.properties":
- add the
following properties:
domibus.jms.queue.alert=jms/domibus.internal.alert.queue
- execute the
WLST API script(from "/conf/domibus/scripts/upgrades")
3.3.4-to-4.0-WeblogicSingleServer.properties for single server deployment or
3.3(+)-to-4.0-WeblogicCluster.properties for cluster deployment
- [Tomcat only]
Modify file
"/conf/domibus/domibus.properties":
o add the
following properties:
domibus.jms.queue.alert=domibus.internal.alert.queue
o update the
following properties:
domibus.datasource.maxLifetime=30
domibus.jms.XAConnectionFactory.maxPoolSize=100
com.atomikos.icatch.max_actives=300
o in file
"cef_edelivery_path/domibus/conf/domibus/internal/activemq.xml":
- in the
destinations section add the following queues:
.............................
<destinations>
.............................
<queue id="alertMessageQueue"
physicalName="domibus.internal.alert.queue"/>
<queue id="uiReplicationQueue"
physicalName="domibus.internal.ui.replication.queue"/>
.............................
</destinations>
.............................
- in the redeliveryPolicyEntries section add
the following entries:
.............................
<redeliveryPolicyEntries>
.............................
<redeliveryPolicy
queue="domibus.internal.alert.queue"
maximumRedeliveries="0"/>
<redeliveryPolicy
queue="domibus.internal.ui.replication.queue"
maximumRedeliveries="1" redeliveryDelay="10000"/>
.............................
</redeliveryPolicyEntries>
.............................
- in the discardingDLQBrokerPlugin update the
dropOnly parameter value as below:
- original:
<discardingDLQBrokerPlugin dropAll="false"
dropOnly="domibus.internal.dispatch.queue domibus.internal.pull.queue"
reportInterval="10000"/>
-new configuration:
<discardingDLQBrokerPlugin dropAll="false"
dropOnly="domibus.internal.dispatch.queue domibus.internal.pull.queue
domibus.internal.alert.queue" reportInterval="10000"/>
- [Wildfly only]
Modify file
"/conf/domibus/domibus.properties":
o add the
following property:
domibus.jms.queue.alert=jms/domibus.internal.alert.queue
o in file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
- add the
following queues in the destination section
.............................
<jms-destinations>
.............................
<jms-queue name="DomibusAlertMessageQueue">
<entry
name="java:/jms/domibus.internal.alert.queue"/>
<entry
name="java:/jms/queue/DomibusAlertMessageQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue name="DomibusUIReplicationQueue">
<entry
name="java:/jms/domibus.internal.ui.replication.queue"/>
<entry
name="java:/jms/queue/DomibusUIReplicationQueue"/>
<durable>true</durable>
</jms-queue>
.............................
</jms-destinations>
.............................
- in the address-settings section
o
add the following address-setting configurations:
.............................
<address-settings>
.............................
<address-setting
match="jms.queue.DomibusAlertMessageQueue">
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<max-delivery-attempts>1</max-delivery-attempts>
</address-setting>
<address-setting
match="jms.queue.DomibusUIReplicationQueue">
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>1000</redelivery-delay>
<max-delivery-attempts>1</max-delivery-attempts>
</address-setting>
.............................
</address-settings>
.............................
- Authentication uses
BCryptPasswordEncoder, similar to the UI users.
TB_AUTHENTICATION_ENTRY table was restored to defaults, having two users
'admin' and 'user' with default password '123456' encrypted using the new
algorithm.
Custom users should
be recreated using the new functionality in the Domibus Admin Console.
- [WS-Plugin] Remove
from PartInfo the Description and Schema headers from the SOAP messages. These
headers were deprecated in ebMS3 and as a result were removed from the
WS-Plugin XSD. When received on the MSH side, they are simply ignored.
- [JMS-Plugin]
Description is no longer available as a property of a payload, remove it from
the input message.
- Modify file
"/conf/domibus/domibus.properties":
o add property
domibus.dynamicdiscovery.useDynamicDiscovery=true or false
o update all the
cron expressions from 0/60 * * * * ? to 0 0/1 * * * ?
o delete property
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.manager_lookup_class
and replace it by:
- [WebLogic
only]
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.jta.platform=org.hibernate.engine.transaction.jta.platform.internal.WeblogicJtaPlatform
- [Tomcat only]
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.jta.platform=com.atomikos.icatch.jta.hibernate4.AtomikosJ2eePlatform
- [Wildfly only]
domibus.entityManagerFactory.jpaProperty.hibernate.transaction.jta.platform=org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform
o [Mysql only]
- add property
:
domibus.entityManagerFactory.jpaProperty.hibernate.id.new_generator_mappings=false
o [Tomcat only]
- add a new
property "domibus.database.schema" for defining the database schema
and modify the "domibus.datasource.xa.property.url" and
"domibus.datasource.url" properties to re-use it
Eg: #MySQL
domibus.datasource.xa.property.url=jdbc:mysql://${domibus.database.serverName}:${domibus.database.port}/${domibus.database.schema}?pinGlobalTxToPhysicalConnection=true
domibus.datasource.url=jdbc:mysql://${domibus.database.serverName}:${domibus.database.port}/${domibus.database.schema}?useSSL=false
o delete
properties
-
domibus.backend.jmsInQueue
-
domibus.pmode.dao.implementation
- Optional changes(only if Domibus is
used in multi-tenancy mode):
o create a new
database schema using the DB script(mysql5innoDb-4.0-multi-tenancy.ddl for
MySQL or oracle10g-4.0-multi-tenancy.ddl for Oracle)
o add the new
property "domibus.database.general.schema" in the Database section of
"/conf/domibus/domibus.properties" file and configure it with the
general schema created in the previous step
o [Tomcat only]
- Modify the file
"/conf/domibus/domibus.properties":
o modify
the "domibus.datasource.xa.property.url" and
"domibus.datasource.url" properties and set the default general
schema in the URL
Eg:
#MySQL
domibus.datasource.xa.property.url=jdbc:mysql://${domibus.database.serverName}:${domibus.database.port}/${domibus.database.general.schema}?pinGlobalTxToPhysicalConnection=true
domibus.datasource.url=jdbc:mysql://${domibus.database.serverName}:${domibus.database.port}/${domibus.database.general.schema}?useSSL=false
Please check the
Admin Guide for more details how to set up Domibus in multi-tenancy mode
- (Optional)Security
policies were updated and renamed. Change your pMode to use
eDeliveryAS4Policy.xml instead of eDeliveryPolicy.xml and
eSensPolicy(.v2.0).xml.
Replace
both eDeliveryPolicy_CA.xml and eSensPolicy.v2.0_CA.xml, by
eDeliveryAS4Policy_BST.xml
Domibus 3.3.4 (from 3.3.3):
- Run the appropriate
DB migration script (mysql5innoDb-3.3.2(+)-to-3.3.4-migration.ddl for MySQL or
oracle10g-3.3.2(+)-to-3.3.4-migration.ddl for Oracle)
- In the file
"/conf/domibus/domibus.properties" add the following properties :
domibus.pull.queue.concurency=1-1
domibus.internal.queue.concurency=3-10
domibus.pull.request.send.per.job.cycle=1 (Optional default value to 1)
domibus.internal.queue.concurency=3-10
- If used, rename the
following properties ("." was removed between dynamic and discovery):
domibus.dynamic.discovery.client.specification rename to
domibus.dynamicdiscovery.client.specification
domibus.dynamic.discovery.peppolclient.mode rename to
domibus.dynamicdiscovery.peppolclient.mode
domibus.dynamic.discovery.oasisclient.regexCertificateSubjectValidation
rename to
domibus.dynamicdiscovery.oasisclient.regexCertificateSubjectValidation
Domibus 3.3.3 (from 3.3.2):
- Replace the Domibus
war and the plugin(s) jar(s) into "/domibus/conf/domibus/plugins/lib"
Domibus 3.3.2 (from 3.3.1):
- In the file
"/conf/domibus/domibus.properties" add the following properties :
o in the security
section:
domibus.certificate.check.cron=0 0 0/1 * * ?
domibus.certificate.revocation.offset=10 (Optional, default is 10)
- Run the appropriate
DB migration script(mysql5innoDb-3.3.1-to-3.3.2-migration.ddl for MySQL or
oracle10g-3.3.1-to-3.3.2-migration.ddl for Oracle)
- In the file
"/conf/domibus/logback.xml" at line 22 replace
<marker>LOGGED_MARKER</marker>
with
<marker>SECURITY</marker>
<marker>BUSINESS</marker>
- [Wildfly only] In
standalone/configuration/standalone-full.xml update
"max-delivery-attempts" to 0 for
DomibusPullMessageQueue and
DomibusSendMessageQueue:
<address-setting
match="jms.queue.DomibusSendMessageQueue">
<max-delivery-attempts>0</max-delivery-attempts>
</address-setting>
<address-setting
match="jms.queue.DomibusPullMessageQueue">
<max-delivery-attempts>0</max-delivery-attempts>
</address-setting>
Domibus 3.3.1 (from 3.3):
- Replace the Domibus
war and the plugin(s) jar(s) into "/domibus/conf/domibus/plugins/lib"
- In the file
"/conf/domibus/domibus.properties" add the following properties :
o in the security
section:
domibus.console.login.maximum.attempt=5
domibus.console.login.suspension.time=3600
domibus.account.unlock.cron=0 0/1 * * * ?
- Run the appropriate
DB migration script(mysql5innoDb-3.3-to-3.3.1-migration.ddl for MySQL or
oracle10g-3.3-to-3.3.1-migration.ddl for Oracle)
Domibus 3.3 (from 3.2.5):
- Replace the Domibus
war and the plugin(s) jar(s) into "/domibus/conf/domibus/plugins/lib"
- Run the appropriate
DB migration script(mysql5innoDb-3.2.5-to-3.3-migration.ddl for MySQL or
oracle10g-3.2.5-to-3.3-migration.ddl for Oracle)
- [ALL
Databases]:execute the following SQL snippet after replacing the values for the
USER_PASSWORD with the configured passwords in domibus-security.xml(in the
"authenticationManagerForAdminConsole" authentication manager)
INSERT
INTO TB_USER_ROLE (ID_PK, ROLE_NAME) VALUES ('1', 'ROLE_ADMIN');
INSERT
INTO TB_USER_ROLE (ID_PK, ROLE_NAME) VALUES ('2', 'ROLE_USER');
INSERT
INTO TB_USER (ID_PK, USER_NAME, USER_PASSWORD, USER_ENABLED) VALUES ('1',
'admin', '$2a$10$5uKS72xK2ArGDgb2CwjYnOzQcOmB7CPxK6fz2MGcDBM9vJ4rUql36', 1);
INSERT
INTO TB_USER (ID_PK, USER_NAME, USER_PASSWORD, USER_ENABLED) VALUES ('2',
'user', '$2a$10$HApapHvDStTEwjjneMCvxuqUKVyycXZRfXMwjU0rRmaWMsjWQp/Zu', 1);
INSERT
INTO TB_USER_ROLES (USER_ID, ROLE_ID) VALUES ('1', '1');
INSERT
INTO TB_USER_ROLES (USER_ID, ROLE_ID) VALUES ('1', '2');
INSERT
INTO TB_USER_ROLES (USER_ID, ROLE_ID) VALUES ('2', '2');
- [MySQL only] Execute
the command: alter schema `your_domibus_schema_name` default charset=utf8
collate=utf8_bin;
- in the location
"/conf/domibus" delete the log4j.properties file and copy the
logback.xml distributed in the domibus configuration specific to each server
- in file
"/conf/domibus/plugins/config/ws-plugin.xml" locate the following
section and add the following interceptors:
<jaxws:endpoint
id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
........................
<jaxws:outInterceptors>
<ref
bean="clearAuthenticationMDCInterceptor"/>
</jaxws:outInterceptors>
<jaxws:outFaultInterceptors>
<ref
bean="clearAuthenticationMDCInterceptor"/>
</jaxws:outFaultInterceptors>
</jaxws:endpoint>
- Add the following
lines to "/conf/domibus/internal/ehcache.xml"
<cache
name="dispatchClient"
maxBytesLocalHeap="5m"
timeToLiveSeconds="3600"
overflowToDisk="false">
<sizeOfPolicy
maxDepthExceededBehavior="abort"/>
</cache>
- If not already the
case modify the certificate alias from the keystore in order to match the party
name of the sender AP
- The external Spring
configuration files(domibus-configuration.xml, domibus-datasources.xml,
domibus-plugins.xml, domibus-security.xml, domibus-transactions.xml,
persistence.xml) are not used anymore.
All the properties
defined in those files have been externalized in a new property file named
"domibus.properties" which is specific to each supported
server(Tomcat/WebLogic/WildFly).
In order to perform
the upgrade procedure please copy the file "domibus.properties",
distributed in the domibus configuration specific to each server, to
"/conf/domibus" and adapt the properties values
based on the
configured properties defined in the old Spring configuration files. After this
action is completed the old Spring configuration files
(domibus-configuration.xml,
domibus-datasources.xml, domibus-plugins.xml, domibus-security.xml,
domibus-transactions.xml, persistence.xml) can be deleted.
Please find below the
mapping between the old Spring configuration files and the new
"domibus.properties" file:
- in the file
"/conf/domibus/domibus-configuration.xml" all the properties defined
in "<util:properties id="domibusProperties">" have
been copied such as
with the
following exception:
o rename the
property "domibus.certificate.validation.enabled" to
"domibus.receiver.certificate.validation.onsending" in your
domibus.properties file. If the property is not defined, do nothing. Default
value "true" has not been changed.
o the value
for the property "domibus.msh.retry.tolerance" should be changed to
10800000
- in the file
"/conf/domibus/domibus-security.xml"
o in the
"keystorePasswordCallback" section:
-
"key" mapped to "domibus.security.key.private.alias"
-
"value" mapped to "domibus.security.key.private.password"
<util:properties id="keystoreProperties">
o in the
"<util:properties id="keystoreProperties">" section:
-
"org.apache.ws.security.crypto.merlin.keystore.type" mapped to
"domibus.security.keystore.type"
-
"org.apache.ws.security.crypto.merlin.keystore.password" mapped to
"domibus.security.keystore.password"
-
"org.apache.ws.security.crypto.merlin.keystore.alias" mapped to
"domibus.security.key.private.alias"
-
"org.apache.ws.security.crypto.merlin.file" mapped to
"domibus.security.keystore.location"
o in the
"<util:properties id="trustStoreProperties">"
section:
-
"org.apache.ws.security.crypto.merlin.trustStore.type" mapped to
"domibus.security.truststore.type"
-
"org.apache.ws.security.crypto.merlin.trustStore.password" mapped to
"domibus.security.truststore.password"
-
"org.apache.ws.security.crypto.merlin.trustStore.file" mapped to
"domibus.security.truststore.location"
- in file
"/conf/domibus/domibus-datasources.xml"
o in the
"entityManagerFactory" section:
-
"packagesToScan" mapped to "domibus.entityManagerFactory.packagesToScan"
-
"jpaProperties" properties are mapped with the following convention:
prefix "domibus.entityManagerFactory.jpaProperty." + property name;
Eg: "hibernate.dialect" mapped to "domibus.entityManagerFactory.jpaProperty.hibernate.dialect"
[Tomcat only]
o in the
"domibusJMS-XAConnectionFactory" section:
-
"maxPoolSize" mapped to "com.atomikos.maxPoolSize"
o in the
"amq:xaConnectionFactory" section:
-
"brokerURL" mapped to "activeMQ.transportConnector.uri"
-
"userName" mapped to "activeMQ.username"
-
"password" mapped to "activeMQ.password"
o in the
"domibusJDBC-XADataSource" section:
-
"xaDataSourceClassName" mapped to
"domibus.datasource.xa.xaDataSourceClassName"
-
"minPoolSize" mapped to "domibus.datasource.xa.minPoolSize"
-
"maxPoolSize" mapped to "domibus.datasource.xa.maxPoolSize"
-
"testQuery" mapped to "domibus.datasource.xa.testQuery"
-
"xaProperties" properties are mapped with the following convention:
prefix "domibus.datasource.xa.property." + property name; Eg:
"user" mapped to "domibus.datasource.xa.property.user";
Exception to this rule: the property: "serverName" mapped to
"domibus.database.serverName"
and "port" mapped to "domibus.database.port"
o new
properties added:
-
check the section "#Non-XA Datasource" and adapt the properties based
on the used database(MySQL or Oracle)
- [WebLogic only]
o in case the probe
URL is used, the new probe URL is /domibus-weblogic/services/msh
o modify the
following parameters for the queue
DomibusSendMessageQueue(jms/domibus.internal.dispatch.queue):
- Set
"Expiration Policy" to "Discard"
- Set
"Error Destination" to "None"
o execute the WLST
API script(from "/conf/domibus/scripts/upgrades")
3.2.5-to-3.3-WeblogicSingleServer.properties for single server deployment or
3.2.5-to-3.3-WeblogicCluster.properties for cluster deployment
- [WildFly only]
o in file
"cef_edelivery_path/domibus/standalone/configuration/standalone-full.xml":
- add the
following datasource(MySQL or Oracle) in the datasources section
(please adapt
the values for host, port, username and password properties according to your
database schema):
<subsystem
xmlns="urn:jboss:domain:datasources:3.0">
<datasources>
........................
<!-- MySQL -->
<datasource
jndi-name="java:/jdbc/cipaeDeliveryNonXADs"
pool-name="eDeliveryMysqlNonXADS" enabled="true"
use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/domibus_schema</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>com.mysql</driver>
<security>
<user-name>edelivery_username</user-name>
<password>edelivery_password</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
<!-- Oracle -->
<datasource
jta="true" jndi-name="java:/jdbc/cipaeDeliveryNonXADs"
pool-name="eDeliveryOracleNonXADS" enabled="true"
use-ccm="true">
<connection-url>jdbc:oracle:thin:@localhost:1521:xe</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>com.oracle</driver>
<security>
<user-name>edelivery_username</user-name>
<password>edelivery_password</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<background-validation>true</background-validation>
<stale-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
</datasource>
........................
</datasources>
</subsystem>
- add the
following executor services in the following section:
<subsystem xmlns="urn:jboss:domain:ee:3.0">
........................
<concurrent>
........................
<managed-executor-services>
<managed-executor-service
name="domibusExecutorService"
jndi-name="java:jboss/ee/concurrency/executor/DomibusExecutorService"
context-service="default" hung-task-threshold="60000"
core-threads="5" max-threads="25"
keepalive-time="5000"/>
</managed-executor-services>
<managed-executor-services>
<managed-executor-service name="quartzExecutorService"
jndi-name="java:jboss/ee/concurrency/executor/QuartzExecutorService"
context-service="default" hung-task-threshold="0"
long-running-tasks="true" core-threads="5"
max-threads="25" keepalive-time="5000"/>
</managed-executor-services>
........................
</concurrent>
........................
<subsystem xmlns="urn:jboss:domain:ee:3.0">
- add the
following queue in the destination section
.............................
<jms-destinations>
.............................
<jms-queue
name="DomibusPullMessageQueue">
<entry
name="java:/jms/domibus.internal.pull.queue"/>
<entry
name="java:/jms/queue/DomibusPullMessageQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue
name="DomibusNotifyBackendFileSystemQueue">
<entry
name="java:/jms/domibus.notification.filesystem"/>
<entry name="java:/jms/queue/DomibusNotifyBackendFileSystemQueue"/>
<durable>true</durable>
</jms-queue>
.............................
</jms-destinations>
.............................
- in the address-settings section
o add the
following address-setting configurations:
.............................
<address-settings>
.............................
<address-setting
match="jms.queue.DomibusPullMessageQueue">
<dead-letter-address>jms.queue.DomibusDLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>1000</redelivery-delay>
<max-delivery-attempts>1</max-delivery-attempts>
</address-setting>
<address-setting match="jms.queue.DomibusNotifyBackendFileSystemQueue">
<dead-letter-address>jms.queue.DomibusDLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>300000</redelivery-delay>
<max-delivery-attempts>10</max-delivery-attempts>
</address-setting>
.............................
</address-settings>
.............................
o remove
the "dead-letter-address" setting from the
"address-setting" configuration of the
"jms.queue.DomibusSendMessageQueue";
after the modification
will be done the "jms.queue.DomibusSendMessageQueue"
"address-setting" configuration will look like below:
<address-setting
match="jms.queue.DomibusSendMessageQueue">
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>1000</redelivery-delay>
<max-delivery-attempts>1</max-delivery-attempts>
</address-setting>
- [Tomcat only]
o The
"/conf/domibus/internal/activemq.xml" file has been considerably
modified and has to be replaced.
If custom
modification have been done(like adding new queues) re-apply these changes into
the new version.
Optional changes
Please consider the
replacement of deprecated operation getMessageStatus() with the newer
getStatus() that also returns the newly introduced DOWNLOADED status.
In Domibus 3.3 the
logging framework changed from Commons Logging to SLF4J with Logback.
Nevertheless the support in the custom plugins for Commons Logging is still
supported in order to
maintain backward compatibility. Still we strongly recommend to perform the
following modification in order to perform the switch from Commons Logging
to the Domibus custom
logger which is based on SLFJ:
- in the file
pom.xml of the custom plugin maven module:
o remove the
following dependency:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<scope>provided</scope>
</dependency>
o add the following
dependency:
<dependency>
<groupId>eu.domibus</groupId>
<artifactId>domibus-logging</artifactId>
</dependency>
- in the custom
plugin module source code replace all declarations of the logger:
o Before
eg: private
static final Log LOG = LogFactory.getLog(BackendWebServiceImpl.class);
o Before
eg: private
static final DomibusLogger LOG =
DomibusLoggerFactory.getLogger(BackendWebServiceImpl.class);
If you are using
samples keystores, please update them as the previous ones expired.
Domibus 3.2.5:
- Run the appropriate
DB migration script.
- Replace the war file
and the default plugins: domibus-default-ws-plugin and
domibus-default-jms-plugin jar files
Domibus 3.2.4:
- Replace the war file
and the default plugins: domibus-default-ws-plugin and domibus-default-jms-plugin
jar files
Domibus 3.2.3:
- Replace the war file
and the default plugins: domibus-default-ws-plugin and
domibus-default-jms-plugin jar files
- In case of Weblogic
cluster uncomment and configure the "domibus.deployment.cluster.url"
property
and uncomment/comment
the xml parts as indicated into ws-plugin.xml and domibus-datasources.xml.
Domibus 3.2.2:
- Replace the war file
and the default plugins: domibus-default-ws-plugin and domibus-default-jms-plugin
jar files
- Add the following
lines to conf/domibus/internal/ehcache.xml
<cache name="lookupInfo"
maxBytesLocalHeap="5m"
timeToLiveSeconds="3600"
overflowToDisk="false">
</cache>
- To use the Dynamic
Discovery copy conf/domibus/policies/eDeliveryPolicy_CA.xml to
conf/domibus/policies
Domibus 3.2.1:
- [WebLogic only]
o execute the WLST
API script(from "/conf/domibus/scripts/upgrades")
3.2-to-3.2.1-WeblogicSingleServer.properties for single server deployment or
3.2-to-3.2.1-WeblogicCluster.properties for cluster deployment
o In the WebLogic
console, in the page "Home >Summary of Security Realms
>myrealm", enable the flag
"Use Authorization Providers to Protect JMX Access" flag; for more
info please check the Administration Guide
o In the WebLogic
console, in the page "Home >Summary of JDBC Data Sources
>cipaeDeliveryDs", tab "Configuration/Connection
Pool/Advanced"
enable the
"Test Connections On Reserve" flag and add "SQL SELECT 1 FROM
DUAL" in the "Test Table Name"
- Replace the war file
Domibus 3.2 (from 3.1.1):
Run the appropriate DB
migration script.
Update the
configuration file following these steps:
- in file
"/domibus/conf/domibus/plugins/config/ws-plugin.xml":
o replace
<jaxws:endpoint id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
.......
</jaxws:endpoint>
with
<jaxws:endpoint
id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
<jaxws:properties>
<entry key="schema-validation-enabled"
value="true"/>
<entry key="mtom-enabled" value="false"/>
</jaxws:properties>
<jaxws:schemaLocations>
<jaxws:schemaLocation>schemas/domibus-header.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/domibus-backend.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xml.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xmlmime.xsd</jaxws:schemaLocation>
</jaxws:schemaLocations>
<jaxws:inInterceptors>
<ref
bean="customAuthenticationInterceptor"/>
</jaxws:inInterceptors>
</jaxws:endpoint>
- in file
"/domibus/conf/domibus/internal/ehcache.xml":
o
add <cache name="certValidationByAlias"
maxBytesLocalHeap="5m" timeToLiveSeconds="3600"
overflowToDisk="false"/>
o add <cache name="crlByCert"
maxBytesLocalHeap="5m" timeToLiveSeconds="3600"
overflowToDisk="false"/>
-
in file "/domibus/conf/domibus/domibus-configuration.xml":
o replace
class="eu.domibus.common.dao.CachingPModeProvider"/> by
class="eu.domibus.ebms3.common.dao.CachingPModeProvider"/> or by
class="eu.domibus.common.dao.PModeDao"/> if you are using Oracle
DB
o add <prop
key="domibus.certificate.validation.enabled">true</prop>
o add <prop
key="domibus.jms.internalQueue.expression">.*domibus\.(internal|DLQ|backend\.jms|notification\.jms|notification\.webservice|notification\.kerkovi).*</prop>
o only for Tomcat users: add <prop
key="activeMQ.JMXURL">service:jmx:rmi://localhost:1198/jndi/rmi://localhost:1199/jmxrmi</prop>
- in file conf/domibus/domibus-security.xml
o replace all from the comment
<!-- Administration GUI user credentials-->
...
with:
<!-- Administration GUI user credentials-->
<bean name="bcryptEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<sec:authentication-manager>
<sec:authentication-provider
ref="allowAllAuthenticationProvider"/>
</sec:authentication-manager>
<sec:authentication-manager
id="authenticationManagerForAdminConsole">
<sec:authentication-provider>
<sec:password-encoder ref="bcryptEncoder"/>
<sec:user-service>
<sec:user name="user"
password="$2a$10$HApapHvDStTEwjjneMCvxuqUKVyycXZRfXMwjU0rRmaWMsjWQp/Zu"
authorities="ROLE_USER"/>
<sec:user name="admin"
password="$2a$10$5uKS72xK2ArGDgb2CwjYnOzQcOmB7CPxK6fz2MGcDBM9vJ4rUql36"
authorities="ROLE_USER, ROLE_ADMIN"/>
</sec:user-service>
</sec:authentication-provider>
</sec:authentication-manager>
<sec:global-method-security
pre-post-annotations="enabled"/>
- [Tomcat only] in file "/domibus/conf/domibus/domibus-datasources.xml":
o replace
<amq:xaConnectionFactory id="xaJmsConnectionFactory"
brokerURL="tcp://localhost:61616" userName="domibus"
password="changeit"/>
with
<amq:xaConnectionFactory id="xaJmsConnectionFactory"
brokerURL="tcp://localhost:61616"
userName="domibus" password="changeit">
<!-- do not remove this! otherwise the redeliveryPolicy configured in
activemq.xml will be ignored -->
<amq:redeliveryPolicy>
<amq:redeliveryPolicy/>
</amq:redeliveryPolicy>
</amq:xaConnectionFactory>
- [Tomcat only] in
file conf/domibus/persistence.xml, add to the <persistence-unit> tag:
<class>eu.domibus.plugin.ws.entity.AuthenticationEntry</class>
If you are using
samples keystores, please update them since they are expiring on the 26th of
October 2016.
Domibus 3.2 (from RC1):
Run the appropriate
DB migration script.
Replace domibus.war
and the plugin(s) jar(s) into /domibus/conf/domibus/plugins/lib"
Update the
configuration file following these steps:
- in file
"/domibus/conf/domibus/plugins/config/ws-plugin.xml":
o remove <bean
id="defaultTransformer" class="eu.domibus.plugin.ws.webservice.deprecated.StubDtoTransformer"/>
o replace
<jaxws:endpoint id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
.......
</jaxws:endpoint>
with
<jaxws:endpoint id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
<jaxws:properties>
<entry
key="schema-validation-enabled" value="true"/>
<entry key="mtom-enabled" value="false"/>
</jaxws:properties>
<jaxws:schemaLocations>
<jaxws:schemaLocation>schemas/domibus-header.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/domibus-backend.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xml.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xmlmime.xsd</jaxws:schemaLocation>
</jaxws:schemaLocations>
<jaxws:inInterceptors>
<ref bean="customAuthenticationInterceptor"/>
</jaxws:inInterceptors>
</jaxws:endpoint>
- in
file conf/domibus/internal/ehcache.xml, add
<cache name="crlByCert"
maxBytesLocalHeap="5m"
timeToLiveSeconds="3600"
overflowToDisk="false">
</cache>
- in file conf/domibus/domibus-security.xml
o replace all from the comment
<!-- Administration GUI user credentials-->
...
with:
<!-- Administration GUI user credentials-->
<bean name="bcryptEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
<sec:authentication-manager>
<sec:authentication-provider
ref="allowAllAuthenticationProvider"/>
</sec:authentication-manager>
<sec:authentication-manager
id="authenticationManagerForAdminConsole">
<sec:authentication-provider>
<sec:password-encoder ref="bcryptEncoder"/>
<sec:user-service>
<sec:user name="user"
password="$2a$10$HApapHvDStTEwjjneMCvxuqUKVyycXZRfXMwjU0rRmaWMsjWQp/Zu"
authorities="ROLE_USER"/>
<sec:user name="admin"
password="$2a$10$5uKS72xK2ArGDgb2CwjYnOzQcOmB7CPxK6fz2MGcDBM9vJ4rUql36"
authorities="ROLE_USER, ROLE_ADMIN"/>
</sec:user-service>
</sec:authentication-provider>
</sec:authentication-manager>
<sec:global-method-security
pre-post-annotations="enabled"/>
- [Tomcat only] in
file conf/domibus/persistence.xml, add to the <persistence-unit> tag:
<class>eu.domibus.plugin.ws.entity.AuthenticationEntry</class>
Domibus 3.2 RC1: Run the appropriate DB migration
script.
Replace
domibus.war and the plugin(s) jar(s) into
/domibus/conf/domibus/plugins/lib"
For Tomcat
installations only, the activemq.xml file has to be replaced and re-configured
according to your environment (transportConnector uri, authenticationUser,
redeliveryPolicy).
Update the
configuration file following these steps:
- in file
"/domibus/conf/domibus/plugins/config/ws-plugin.xml":
o add
<bean id="defaultTransformer"
class="eu.domibus.plugin.ws.webservice.deprecated.StubDtoTransformer"/>
(as an element in the node beans)
o replace
<jaxws:endpoint id="backendInterfaceEndpoint" implementor="#backendWebservice"
address="/backend">
.......
</jaxws:endpoint>
with
<jaxws:endpoint
id="backendInterfaceEndpoint"
implementor="#backendWebservice" address="/backend">
<jaxws:properties>
<entry key="schema-validation-enabled"
value="true"/>
<entry
key="mtom-enabled" value="true"/>
</jaxws:properties>
<jaxws:schemaLocations>
<jaxws:schemaLocation>schemas/domibus-submission.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xml.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/domibus-backend.xsd</jaxws:schemaLocation>
<jaxws:schemaLocation>schemas/xmlmime.xsd</jaxws:schemaLocation>
</jaxws:schemaLocations>
</jaxws:endpoint>
- in file
"/domibus/conf/domibus/internal/ehcache.xml":
o add <cache
name="certValidationByAlias" maxBytesLocalHeap="5m"
timeToLiveSeconds="3600" overflowToDisk="false"/>
- in file
"/domibus/conf/domibus/domibus-configuration.xml":
o replace class="eu.domibus.common.dao.CachingPModeProvider"/>
by class="eu.domibus.ebms3.common.dao.CachingPModeProvider"/> or
by class="eu.domibus.common.dao.PModeDao"/> if you are using
Oracle DB
o add <prop
key="domibus.certificate.validation.enabled">true</prop>
o add <prop
key="domibus.jms.internalQueue.expression">.*domibus\.(internal|DLQ|backend\.jms|notification\.jms|notification\.webservice|notification\.kerkovi).*</prop>
o only for Tomcat users: add <prop
key="activeMQ.JMXURL">service:jmx:rmi://localhost:1198/jndi/rmi://localhost:1199/jmxrmi</prop>
- only for Tomcat users: in file
"/domibus/conf/domibus/domibus-datasources.xml":
o replace
<amq:xaConnectionFactory id="xaJmsConnectionFactory"
brokerURL="tcp://localhost:61616" userName="domibus"
password="changeit"/>
with
<amq:xaConnectionFactory id="xaJmsConnectionFactory"
brokerURL="tcp://localhost:61616"
userName="domibus" password="changeit">
<!-- do not remove this! otherwise the
redeliveryPolicy configured in activemq.xml will be ignored -->
<amq:redeliveryPolicy>
<amq:redeliveryPolicy/>
</amq:redeliveryPolicy>
</amq:xaConnectionFactory>
If you are using
samples keystores, please update them since they are expiring on the 26th of
October 2016.
Domibus 3.1.1: Replace the war. This release
updated the type of one column for the MySQL db. Please run the migration
script.
Domibus 3.1.0: Re-install the domibus-security.xml
and re-configure the properties according with the installed Truststore and
Keystore.
For Tomcat installations
only, the activemq.xml has to be re-installed and re-configured and the
domibus-ActiveMQ-ThroughputLimiter jar can be deleted.
There have been
some changes to the database, please use the new scripts.
Run the migration
script if you are upgrading from 3.0 to 3.1
Domibus 3.1 RC2: Replace the war and jar(plugins)
files. There have been some changes to the MessageFilter, please use a clean
database.
Domibus 3.1 RC1: Domibus 3.1 is a major release
that has to be installed from scratch.
There have been
some changes to the database, please use the new script.
There is a new
PMode generation plugin available (BETA-3),
use this to regenerate your PMode files
Domibus 3.0 BETA-2:
Replace the war file.
Domibus 3.0 BETA-1:
Domibus 3.0 is a major release that has to be installed from scratch. There is
no available upgrade path.