我正在尝试使用ElasticSearch Java API 5.5.1,并且在尝试为PreBuiltTransportClient(ES 2.3中的TransportClient(创建bean时,我遇到了以下问题。
创建在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中定义的名称为"preBuildTransportClient"的 Bean 时出错:通过构造函数参数 0 表示的未满足依赖关系:无法将类型 [org.elasticsearch.common.settings.Settings$Builder] 的参数值转换为所需的类型 [org.elasticsearch.common.settings.Settings]:无法将类型 [org.elasticsearch.common.settings.Settings$Builder] 的值转换为所需的类型 [org.elasticsearch.common.settings.Settings];嵌套异常是 java.lang.IllegalStateException:无法将类型 [org.elasticsearch.common.settings.Settings$Builder] 的值转换为所需的类型 [org.elasticsearch.common.settings.Settings]:找不到匹配的编辑器或转换策略
<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>
关于为PreBuiltTransportClient创建bean的任何建议?
创建了一个类并将其用作带有适当参数的 bean,对我有用。