zoukankan      html  css  js  c++  java
  • ignite服务中的bean注入为空

    在写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;

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

  • 相关阅读:
    CodeForces
    EOJ 3506. 斐波那契数列
    牛客练习赛13 D幸运数字Ⅳ . 康托逆展开
    UVA
    Piggy-Bank HDU
    Dollar Dayz POJ
    UVA 674 Coin Change (完全背包)
    python OOP (1)
    python lambda简易使用
    python whl模块安装方法
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5619942.html
Copyright © 2011-2022 走看看