【发布时间】:2017-09-04 16:48:59
【问题描述】:
我正在尝试使用 ElasticSearch Java API 5.5.1,并在尝试为 PreBuiltTransportClient(ES 2.3 中的 TransportClient)创建 bean 时遇到以下问题。
在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中创建名称为“preBuildTransportClient”的 bean 时出错:通过构造函数参数 0 表示的依赖关系不满足:无法转换类型 [org.elasticsearch.common.settings.xml 的参数值。 Settings$Builder] 到所需类型 [org.elasticsearch.common.settings.Settings]:无法将类型 [org.elasticsearch.common.settings.Settings$Builder] 的值转换为所需类型 [org.elasticsearch.common.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 有什么建议吗?
【问题讨论】:
标签: spring elasticsearch elasticsearch-5 elasticsearch-java-api