I am trying to use ElasticSearch Java API 5.5.1 and while trying to create a bean for PreBuiltTransportClient(TransportClient in ES 2.3) I am facing the below issue.
Error creating bean with name 'preBuildTransportClient' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Unsatisfied dependency expressed through constructor parameter 0: Could not convert argument value of type [org.elasticsearch.common.settings.Settings$Builder] to required type [org.elasticsearch.common.settings.Settings]: Failed to convert value of type [org.elasticsearch.common.settings.Settings$Builder] to required type [org.elasticsearch.common.settings.Settings]; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.elasticsearch.common.settings.Settings$Builder] to required type [org.elasticsearch.common.settings.Settings]: no matching editors or conversion strategy found
<bean id="settingsBean" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject">
<bean id="builderObj" class="org.elasticsearch.common.settings.Settings" factory-method="builder" />
</property>
<property name="targetMethod" value="put" />
<property name="arguments">
<map>
<entry key="cluster.name">
<value>mycluster</value>
</entry>
</map>
</property>
</bean>
<bean id="transportClient" class="org.elasticsearch.transport.client.PreBuiltTransportClient">
<constructor-arg name="settings" ref="esSettingsBuilderStep2" />
<constructor-arg name="plugins">
<null />
</constructor-arg>
</bean>
Any suggestion for creating a bean for PreBuiltTransportClient?
Created a class and used that as bean with proper arguments worked for me.