0

We are using SDL 8.5 and DXA 2.0 Java for our website. We are using inprocess approach of audience manager in our website recently we have noticed while initializing any contact which does not exist in audience manager subscription database is taking around 7 sec also we have noticed that cd_staorage.config file keeps getting updated by the java process.Below is code for initialize contact

long startTime = System.currentTimeMillis();
            com.tridion.marketingsolution.profile.Contact contact = null;
            try {
                contact = new com.tridion.marketingsolution.profile.Contact(new String[]{"xyzp", "test@test.com"});
            } catch(Exception e) {
                out.println("test contact initialize time: " + (System.currentTimeMillis() - startTime));
            }

CD_STORAGE.CONFIG

<?xml version="1.0" encoding="UTF-8"?><Configuration Version="8.5">
    <Global>
        <Storages>
            <StorageBindings>
                <Bundle src="AudienceManagerDAOBundle.xml"/>
            </StorageBindings>
            <!-- Profile DB Oracle -->
            <Storage Class="com.tridion.storage.persistence.JPADAOFactory" Id="profiledbOracle" Type="persistence" dialect="ORACLESQL">
                <Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="5" Type="jdbc"/>
                <DataSource Class="oracle.jdbc.pool.OracleDataSource">
                    <Property Name="driverType" Value="thin"/>
                    <Property Name="networkProtocol" Value="tcp"/>
                    <Property Name="URL" Value="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL=TCP)(HOST=192.168.10.10)(PORT=1831)))(CONNECT_DATA=(SERVICE_NAME=SDLPCDB)(SERVER=SHARED)))"/>
                    <Property Name="user" Value="test_sm"/>
                    <Property Name="password" Value="sm_2018"/>
                </DataSource>
            </Storage>
            <!-- Tracking DB Oracle -->
            <Storage Class="com.tridion.storage.persistence.JPADAOFactory" Id="trackingdbOracle" Type="persistence" dialect="ORACLESQL">
                <Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="5" Type="jdbc"/>
                <DataSource Class="oracle.jdbc.pool.OracleDataSource">
                    <Property Name="driverType" Value="thin"/>
                    <Property Name="networkProtocol" Value="tcp"/>
                    <Property Name="URL" Value="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL=TCP)(HOST=192.168.10.10)(PORT=1831)))(CONNECT_DATA=(SERVICE_NAME=SDLPCDB)(SERVER=SHARED)))"/>
                    <Property Name="user" Value="test_PS"/>
                    <Property Name="password" Value="test_2018"/>
                </DataSource>
            </Storage>
        </Storages>
    </Global>
    <ItemTypes cached="true" defaultStorageId="profiledbOracle">
        <Item storageId="profiledbOracle" typeMapping="AudienceManagerProfile"/>
        <Item storageId="trackingdbOracle" typeMapping="AudienceManagerTracking"/>
    </ItemTypes>
    <License Location="D:/SDLWeb/Licenses/cd_licenses.xml"/>
</Configuration>
  • Have you considered using the DXA Audience Manager Module? – Rick Pannekoek Apr 9 at 15:18
  • What is the reason for using "in-process approach" rather that using the AM microservices? – Rick Pannekoek Apr 9 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.