I am trying to install Tridion 9.1 Deployer as 2x Endpoints and 3x Workers. Deployer endpoint is running fine I can browse the httpuplaod
but when I'm install Worker, getting below error. Any suggestion on this issue.
2020-02-20 13:21:30,659 ERROR [main] LoggingFailureAnalysisReporter -
*************************** APPLICATION FAILED TO START
Description:
Field storageSelector in com.sdl.delivery.deployer.state.StepDataMapperFactory required a bean of type 'com.sdl.delivery.deployer.api.binarystorage.StorageSelector' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.sdl.delivery.deployer.api.binarystorage.StorageSelector' in your configuration.
2020-02-20 13:21:30,662 ERROR [main] LoggingFailureAnalysisReporter -
*************************** APPLICATION FAILED TO START
Description:
Field storageSelector in com.sdl.delivery.deployer.state.StepDataMapperFactory required a bean of type 'com.sdl.delivery.deployer.api.binarystorage.StorageSelector' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.sdl.delivery.deployer.api.binarystorage.StorageSelector' in your configuration.
2020-02-20 13:21:30,671 ERROR [main] ServiceContainer - Could not start ServiceContainer java.lang.reflect.InvocationTargetException: null at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at com.sdl.delivery.service.ServiceContainer.main(ServiceContainer.java:92) at com.sdl.delivery.service.WinServiceContainer.start(WinServiceContainer.java:24) at com.sdl.delivery.service.WinServiceContainer.main(WinServiceContainer.java:41) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'stateMapperFactory': Unsatisfied dependency expressed through field 'mapperFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'stepDataMapperFactory': Unsatisfied dependency expressed through field 'storageSelector'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.sdl.delivery.deployer.api.binarystorage.StorageSelector' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389) at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) ... 7 common frames omitted
Cd_storage
<?xml version="1.0" encoding="UTF-8"?><Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="11.1" xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
<!--Optional:-->
<!--
Default Namespace Configuration
The parameter to determine the default namespace
'tcm' - Tridion Sites
-->
<Namespace default="${namespaceprefix:-tcm}"/>
<Global>
<!--Optional:-->
<ObjectCache Enabled="${objectcacheenabled:-false}">
<!--Optional:-->
<Policy Class="com.tridion.cache.LRUPolicy" Type="LRU">
<!--
The maximum size of memory used by the cache. The string must consist a number
followed by units: "k" or "kb" for kilobytes; "m" or "mb" for megabytes (case insensitive)
-->
<Param Name="MemSize" Value="${cachesize:-16mb}"/>
</Policy>
<!--Optional:-->
<!-- The Features element specifies classes that add additional functionality to the cache. -->
<Features>
<Feature Class="com.tridion.cache.DependencyTracker" Type="DependencyTracker"/>
</Features>
</ObjectCache>
<Storages>
<Storage Class="com.tridion.storage.persistence.JPADAOFactory" Id="defaultdb" Type="persistence" dialect="MSSQL">
<Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="10" Type="jdbc"/>
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="localhost"/>
<Property Name="portNumber" Value="1433"/>
<Property Name="databaseName" Value="Tridion_Broker"/>
<Property Name="user" Value="TridionBrokerUser"/>
<Property Name="password" Value="xxxxx"/>
</DataSource>
</Storage>
</Storages>
<!--
This configures the taxonomy reference count for keywords,
if CountEnabled is set to False the reference count for keywords will not get updated.
The default setting if this configuration is not present - keyword counts are enabled.
-->
<Taxonomies CountEnabled="${taxonomiescountenabled:-true}"/>
<!--
Configures transaction storage settings:
how long before a transaction gets rolled back (default is 600000 ms) and
interval to monitor for outstanding transactions (default is 5000ms).
-->
<Transaction MonitorInterval="${transactionmonitorinterval:-5000}" Timeout="${transactiontimeout:-600000}"/>
</Global>
<ItemTypes cached="false" defaultStorageId="defaultdb">
</ItemTypes>
<ConfigRepository CacheEnabled="true" CacheExpirationDuration="600" ClientId="registration" ClientSecret="${registrationpassword:-encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY=}" ConnectionTimeout="10000" ServiceMonitorPollDuration="10" ServiceUri="${discoveryurl:-http://localhost:8082/discovery.svc}" TokenServiceUrl="${tokenurl:-http://localhost:8082/token.svc}"/>
</Configuration>
Deployer config
<?xml version="1.0" encoding="UTF-8"?>
<Deployer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="11.1" xsi:noNamespaceSchemaLocation="schemas/deployer-conf.xsd">
<Pipelines>
<Pipeline Action="TridionBootstrap" Id="Tridion-Bootstrap" Verb="Content,Prepare,Commit,Rollback">
<Steps>
<Step Id="TridionUnzipStep"/>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Id="Tridion-Wait" Verb="Wait">
<Steps>
<Step Id="TridionWaitStep"/>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Id="Tridion-ContentData-Deploy" Verb="Process">
<Steps>
<Step Id="TridionContentDataStep"/>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Id="Tridion-PreCommit-TX" Verb="PreCommit">
<Steps>
<Step Id="TridionPreCommitStep"/>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Id="Tridion-Commit-TX" Verb="Commit">
<Steps>
<Step Id="TridionCommitStep">
<RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
</Step>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Id="Tridion-Rollback-TX" Verb="Rollback">
<Steps>
<Step Id="TridionRollbackStep"/>
</Steps>
</Pipeline>
<Pipeline Action="Deploy,Undeploy" Finalize="true" Id="Tridion-Cleanup" Verb="*">
<Steps>
<Step Id="TridionCleanupStep"/>
</Steps>
</Pipeline>
</Pipelines>
<BinaryStorage Id="RedisStorage" Adapter="RedisBlobStorage">
<Property Name="Host" Value="localhost"/>
<Property Name="Port" Value="6379"/>
<Property Name="Password" Value="encrypted:HzfQh9wYwAKShDxCm4DnnBnysAz9PtbDMFXMbPszSVY="/>
<Property Name="Timeout" Value="20000"/>
</BinaryStorage>
<State>
<Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" >
<Property Name="host" Value="localhost"/>
<Property Name="port" Value="1433"/>
<Property Name="database" Value="Tridion_State_Store"/>
<Property Name="user" Value="TridionStateStore"/>
<Property Name="password" Value="xxxx"/>
</Storage>
</State>
<Queues>
<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>
<Adapter Id="JMS">
<Property Name="JMSConnectionFactoryBuilderClass"
Value="com.sdl.delivery.spring.configuration.jms.ActiveMQConnectionFactoryBuilder" />
<Property Name="JMSUri" Value="http://localhost:8161/" />
<Property Name="Username" Value="admin"/>
<Property Name="Password" Value="admin"/>
</Adapter>
<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>
</Deployer>