以下のように、gemfire をセットアップするための xml 構成ファイルがあります。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan
base-package="com.mycompany.data.testcache" />
<context:annotation-config />
<util:properties id="props" location="classpath:test-cache.properties">
<prop key="log-level">info</prop>
</util:properties>
<gfe:cache id="gemfire-cache" properties-ref="props" />
<gfe:local-region id="region1">
<gfe:cache-listener ref="listener" />
</gfe:local-region>
<bean id="listener"
class="com.mycompany.data.TestLoggingCacheListener" />
</beans>
この構成ファイルを読み込もうとすると、以下の例外が表示されます..
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 原因: org.springframework.beans.factory.BeanCreationException: 名前 'region1' の Bean の作成中にエラーが発生しました: Bean への参照を解決できません ' Bean プロパティ 'cache' の設定中の gemfireCache'; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: 'gemfireCache' という名前の Bean が org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) で org.springframework.beans.factory で定義されていませんorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory の .support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)。
org.springframework.beans.factory.NoSuchBeanDefinitionException: org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529) の org.springframework.beans.factory.support で「gemfireCache」という名前の Bean が定義されていません。 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277) の AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: 193) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) ... 41 もっと見る
からid属性を削除すると
<gfe:cache id="gemfire-cache" properties-ref="props" />
そしてただ与える
<gfe:cache properties-ref="props" />
それは正常に動作します。id 属性を指定すると、t がスローされます