码迷,mamicode.com
首页 > 其他好文 > 详细

ignite服务中的bean注入为空

时间:2016-06-27 15:24:06      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

在写ignite服务的时候,通常服务配置在启动文件中:

<bean class="org.apache.ignite.services.ServiceConfiguration">
                    <property name="name" value="***Impl" />
                    <property name="maxPerNodeCount" value="1" />
                    <property name="totalCount" value="1" />
                    <property name="service">
                        <ref bean="CronServiceImpl" />
                    </property>
                </bean>
<bean id="CronServiceImpl" class="com.***Impl"></bean>

实现类中注入的类

    @Autowired
    private CtsMgr ctsMgr;    

按照spring习惯我们注入接口通常选择@Autowired或者@Resource,ignite也是兼容spring的.但是当服务的部署发生在启动之后,也就是服务没有配置在配置文件中时:

        ServiceConfiguration cfg = new ServiceConfiguration();
        cfg.setTotalCount(4);
        cfg.setMaxPerNodeCount(2);
        cfg.setName("***Impl");
        cfg.setService(new ***Impl());
        Ignition.ignite().services().deploy(cfg);

这时候再调用服务会发现,ctsMgr为null,这里需要用到ignite的注解,将接口注入替换为:

    @SpringResource(resourceName = "ctsMgr")
    private transient CtsMgr ctsMgr;

可以发现代码又可以正常运行了哟

ignite服务中的bean注入为空

标签:

原文地址:http://www.cnblogs.com/garfieldcgf/p/5619942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!