首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在@EnableClusterDefinedRegions之后使用@Resource for Geode region

在@EnableClusterDefinedRegions之后使用@Resource for Geode region
EN

Stack Overflow用户
提问于 2020-02-18 23:11:49
回答 1查看 24关注 0票数 0

我的spring boot data geode @Controller端点设置了一个rsocket响应,它从另一个包中@Autowired一个服务类:

代码语言:javascript
复制
@Controller
public class RSocketController {
    private static final Logger log = LogManager.getLogger(RSocketController.class);

    @Autowired
    MyService myService;

myService类包含由@EnableClusterDefinedRegions从Geode集群设置的@Resource区域。

代码语言:javascript
复制
@Resource
private Region<String, Request> request;

当rsocket请求被发送到端点时,@Autowired服务会给出一个错误:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'request' available

我有一些用@Region装饰的域对象,我也用@Controller@Configuration装饰了这些域对象,它们给出了如下错误:

代码语言:javascript
复制
Bean named 'request' is expected to be of type 'org.apache.geode.cache.Region' but was actually of type 'region.request'

代码语言:javascript
复制
Bean named 'request' is expected to be of type org.apache.geode.cache.Region but was actually of type region.request$$EnhancerBySpringCGLIB$$5e6b7dd1

当我打开调试日志时,我看到@EnableClusterDefinedRegions不知何故没有触发,因此没有从Geode集群设置request区域。啊哈。

EN

回答 1

Stack Overflow用户

发布于 2020-02-18 23:20:46

通过向@EnableClusterDefinedRegions类添加@Component注释解决了这个问题,Spring Boot bean收集器随后可以看到该类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60283999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档