8 updated with error from Eclipse
source | link

At least the deployer extension is called, but what's super weird is that I see the error of no assembler calls but I don't see the message "Entered into the constructor of the class".

{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Retry limit exceeded.","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 17:05:47 EDT 2018"}]}

{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Unable to perform action","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 16:31:12 EDT 2018"}]}

Error from Eclipse

java.lang.AssertionError: AssemblerGetsCalledWhenItemIsPageTest --> Could not call process - com.sdl.delivery.deployer.api.binarystorage.BinaryStorageBase$$Lambda$1/1541708640 cannot be cast to com.sdl.delivery.deployer.api.binarystorage.BinaryStorage
at org.junit.Assert.fail(Assert.java:88)
at com.tridion.deployer.extensions.assembler.unitTests.PageDeployAssemblerExtensionModuleTest.AssemblerGetsCalledWhenPublishingPageTest(PageDeployAssemblerExtensionModuleTest.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:316)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:89)
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:97)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:300)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:131)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.access$100(PowerMockJUnit47RunnerDelegateImpl.java:59)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$TestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:147)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.evaluateStatement(PowerMockJUnit47RunnerDelegateImpl.java:107)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:288)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:50)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:208)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:147)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:121)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:123)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:121)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

At least the deployer extension is called, but what's super weird is that I see the error of no assembler calls but I don't see the message "Entered into the constructor of the class".

{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Retry limit exceeded.","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 17:05:47 EDT 2018"}]}

{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Unable to perform action","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 16:31:12 EDT 2018"}]}
{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Retry limit exceeded.","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 17:05:47 EDT 2018"}]}

{"errors":[{"message":"com.sdl.odata.client.api.exception.ODataClientRuntimeException: Unable to perform action","status":"Server Error","statusCode":"500","systemErrorCode":"100","type":"Internal Server Error","typeId":"InternalServerError","date":"Mon May 14 16:31:12 EDT 2018"}]}

Error from Eclipse

java.lang.AssertionError: AssemblerGetsCalledWhenItemIsPageTest --> Could not call process - com.sdl.delivery.deployer.api.binarystorage.BinaryStorageBase$$Lambda$1/1541708640 cannot be cast to com.sdl.delivery.deployer.api.binarystorage.BinaryStorage
at org.junit.Assert.fail(Assert.java:88)
at com.tridion.deployer.extensions.assembler.unitTests.PageDeployAssemblerExtensionModuleTest.AssemblerGetsCalledWhenPublishingPageTest(PageDeployAssemblerExtensionModuleTest.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:316)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:89)
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:97)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:300)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:131)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.access$100(PowerMockJUnit47RunnerDelegateImpl.java:59)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$TestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:147)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.evaluateStatement(PowerMockJUnit47RunnerDelegateImpl.java:107)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:288)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:50)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:208)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:147)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:121)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:123)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:121)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
7 deleted 87 characters in body
source | link
    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> 
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval -->
        <Property Name="LocationPollingInterval" Value="2s"/> -->
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties -->
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> -->
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />

I cannot seem to get passed the "Waiting for Deployment" phase.. until it just Fails.

    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> 
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval 
        <Property Name="LocationPollingInterval" Value="2s"/> -->
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> -->
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />

I cannot seem to get passed the "Waiting for Deployment" phase.. until it just Fails.

    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> 
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval -->
        <Property Name="LocationPollingInterval" Value="2s"/>
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties -->
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> 
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />
6 added 5 characters in body
source | link
    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval 
        <Property Name="LocationPollingInterval" Value="2s"/> -->
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> -->
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />
    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers
        <Property Name="Workers" Value="11"/> -->
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval
        <Property Name="LocationPollingInterval" Value="2s"/> -->
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> -->
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />
    <!-- Custom extension --> 
    <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Commit">
    <Steps>
        <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com..tridion.deployer.extensions.PageDeployAssemblerExtensionModule" Type="PageDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
        <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationDeployAssemblerExtensionModule" Type="ComponentPresentationDeploy">
                <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
            </Module>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
        <Steps>
            <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
            </Step>
            <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
            </Step>
            <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
            </Step>
            <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
            </Step>
        </Steps>
    </Pipeline>

    <!-- Custom extension -->
    <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Commit">
    <Steps>
        <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.PageUndeployAssemblerExtensionModule" Type="PageUndeploy"/>
        </Step>
        <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.Company.tridion.deployer.extensions.ComponentPresentationUndeployAssemblerExtensionModule" Type="ComponentPresentationUndeploy"/>
        </Step>
    </Steps>
    </Pipeline>

    <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
        <Steps>
            <Step Id="TridionPreCommitStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Steps>
            <Step Id="TridionCommitStep">
                <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
            </Step>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
        <Steps>
            <Step Id="TridionRollbackStep"/>
        </Steps>
    </Pipeline>
    <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
        <Steps>
            <Step Id="TridionCleanupStep"/>
        </Steps>
    </Pipeline>
</Pipelines>

<!-- Binary Storage configuration -->
<BinaryStorage Id="PackageStorage" Adapter="FileSystem">
    <Property Name="Path" Value="/service_folder/binary"/>
</BinaryStorage>

<!--
    Redis Binary Storage configuration.
    Password is not supported by Amazon ElastiCache.
 -->
<!--
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
    <Property Name="Host" Value="${storageHost}"/>
    <Property Name="Port" Value="${storagePort}"/>
    <Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
    <Property Name="Timeout" Value="20000"/>
</BinaryStorage>
-->

<!-- State store configuration -->

<!--
    Configuration example for MSSQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the MSSQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1433) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       (Optional)
       Also, for MSSQL we support extended connection properties that are related to MSSQL.
       For example:
       <Property Name="encrypt" Value="true"/>

       In this particular case, MSSQL will specify SSL encryption for all the data sent between
       the client and the server if the server has a certificate installed.
       You are able to specify as much extended properties as you want.

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1433"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<!--
    Configuration example for Oracle SQL Database
       The Storage element specifies database settings for Deployer State Store Database.
       For the Oracle SQL the minimum set of properties are:
           host: name of the server that hosts the database
           port: port number (default 1521) used for TCP/IP connections to the database
           database: name of the database to access
           user: username used to access the database
           password: password used to access the database

       Currently, we are not supporting extended connection properties for Oracle SQL Database.

<State>
    <Storage Adapter="oracle" driver="oracle.jdbc.driver.OracleDriver">
        <Property Name="host" Value="${dbhost}"/>
        <Property Name="port" Value="1521"/>
        <Property Name="database" Value="${dbname}"/>
        <Property Name="user" Value="${dbuser}"/>
        <Property Name="password" Value="${dbpassword}"/>
    </Storage>
</State>

-->

<State>
    <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
        <Property Name="host" Value="xyz.com"/>
        <Property Name="port" Value="99999"/>
        <Property Name="database" Value="BROKER_SAND_EVO"/>
        <Property Name="user" Value="BrokerUser_Sand"/>
        <Property Name="password" Value="encrypted:fhS6whphjS2G2rG6aI6T/g=="/>
    </Storage>
</State>

<!-- Queues configuration -->
<Queues>
    <!-- Queues default configuration for Filesystem-->
    <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/FinalTX"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/>
    </Queue>
    <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
        <Property Name="Destination" Value="/service_folder/queue/incoming/Prepare"/>
        <!-- Optional property to set number of workers  -->
        <Property Name="Workers" Value="11"/> 
    </Queue>
    <Adapter Id="FileSystem">
        <!-- optional property to set polling interval 
        <Property Name="LocationPollingInterval" Value="2s"/> -->
    </Adapter>

    <!-- Queues default configuration for JMS -->
    <!--
        <Queue Default="true" Verbs="Content" Adapter="JMS" Id="ContentQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="JMS" Id="CommitQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="JMS" Id="PrepareQueue">
            <Property Name="Workers" Value="11"/>
        </Queue>
    -->

    <!-- ActiveMQ default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="tcp://activemq-host:port" />

            //JMS optional properties. Required for remote activeMQ
            <Property Name="Username" Value="admin"/>
            <Property Name="Password" Value="admin"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- AmazonSQS default adapter configuration for JMS -->
    <!--
        <Adapter Id="JMS">
            <Property Name="JMSConnectionFactoryBuilderClass"
                      Value="com.sdl.delivery.spring.configuration.jms.AmazonSQSConnectionFactoryBuilder" />
            <Property Name="JMSUri" Value="https://sqs.eu-central-1.amazonaws.com/42" />

            //Required to create connection with Amazon SQS
            <Property Name="Username" Value="AccessKey"/>
            <Property Name="Password" Value="SecretKey"/>

            //JMS optional property. Put the value in milliseconds. Used to fine tune queue sensitivity.
            <Property Name="ReceiveTimeout" Value="200"/>
        </Adapter>
    -->

    <!-- Workers configuration properties -->
    <Workers>
        <!-- Optional configuration properties
        <Property Name="QueuePollingInterval" Value="2s"/>
        <Property Name="RetriesInterval" Value="100ms"/>
        <Property Name="MaxRetries" Value="11"/>
        <Property Name="Cleanup" Value="true"/> -->
    </Workers>
</Queues>

<!-- RMI Channel Port -->
<!--
    <RMIChannel ListenerPort="1050"/>
-->
<!-- License Path -->
<License Path="/deployer-combined/license/cd_licenses.xml" />
5 updated with more configs and errors
source | link
4 updated with more configs and errors
source | link
3 deleted 5517 characters in body
source | link
2 added updated error
source | link
1
source | link