In XI it was general issue where customer had high volume messages and message throughput in the Adapter Engine was so high that the database volume is not able to store all messages for the predefined period of time (30 days) and generally customer have to change/ decreased persist duration to a value that allows the messages to be kept in the database for the configured period of time or sometime due to performace factor customer had to decreased persist duration.
JAVA Archive strategy changed with PI 7.1 onwards. Initially message was persist for 30 days on JAVA but from PI 7.1 onwards this value changed to 1 day only. This means that successful message will be availed for 1 day only in database until the deletion job removes them.
This is very good change and move from SAP and will help customer to increase/improve the performance & throughput of database and also we will require less space of database.
For this (central and de-central Adapter Engine) SAP changed below two properties of the J2EE Service “SAP XI Adapter: XI” (value is in milliseconds):
“xiadapter.outbound.persistDuration.default”: initially it was 2592000000 ms / 30 days but now standard value is for 86400000 ms/ 1day from PI 7.1 onwards.
“xiadapter.inbound.persistDuration.default” : initially it was 2592000000 ms but now standard value is for 86400000 ms from PI 7.1 onwards.
But if you want to specify a higher period for the already processed messages due to certain reason then you have to make change in this configuration
Please go to NWA ( (alias: /nwa/sys-config))
->Java System Properties->Details->Services ->XPI Adapter: XI
Click on JAVA system properties
On service tab – please filter out XPI Adapter XI service.
Here the standard value is 86400000 ms which is 24 hrs. For changing it please click on modify and then you will get pop up for changing custom value :-
Whatever modified value you will give here will be new persistDuration and specifies how long the message should be kept in the message database of the messaging system.
**The value must be greater than the retry interval multiplied by the maximum number of configured retries.
**Also Messages on the Java side were persisted in table XI_AF_MSG but from PI 7.1 its BC_MSG table.
We can only delete or archive messages whose retention time has expired and that have, at the same time, a final status or successful .So whever the archvie/delete job will run it will delete/archive all messge from database.Ideally these job should be schudeled everyday to keep database size low.Ideally this job should be scheduled everyday to make sure that messages that complete persist duration can be removed quickly from database and help database to reduce load and increase performance.
These jobs can be monitored by
Runtime workbench -> Component monitoring-> display -> Background processing.
Refrence :- help.sap.com and SAP Note 807615.