当前位置: 首页 > 知识库问答 >
问题:

IgniteSpringBean和Ignite SpringTransactionManager在2.4中不再协同工作

苏品
2023-03-14

我发现,在2.4中引入了IgniteSpringBean的更改,将ignite实例的启动延迟到所有其他spring Bean初始化之后,可能已经中断了ignite SpringTransactionManager,导致无法将其配置为ignite事务的spring事务抽象。我真的,非常需要找到一个解决这个问题的方法。有人有什么想法/建议吗?

请参阅下面的堆栈跟踪,

谢谢

共有1个答案

锺博耘
2023-03-14

对于其他面临此问题的用户,正如Dennis(@dmagda)所评论的,https://issues.apache.org/jira/browse/ignite-8740&将在2.6中提供。

同时,我所做的工作是在配置bean(@configuration)中以这种方式攻击注入,

/**
 * @author mlekshma
 *
 */
@Configuration
@ComponentScan("com.***.***")
@EnableIgniteRepositories(basePackages={"com.***.***"})
@ImportResource("classpath:ignite-client-conf.xml")
@EnableTransactionManagement
public class IgniteClientConfig {

    private static final Logger LOGGER = LoggerFactory.getLogger(IgniteClientConfig.class);

    public IgniteClientConfig() {
    }

    /**
     * @return
     */
    @Bean
    @DependsOn("igniteInstance")
    @Primary
    @Lazy
    public PlatformTransactionManager transactionManager() {
        final SpringTransactionManager springTransactionManager = new SpringTransactionManager() {
            @Override 
            public void afterPropertiesSet() throws Exception {
                // Do nothing..
            }

            /**
             * @param event
             */
            @EventListener
            public void handleContextRefresh(final ContextRefreshedEvent event) throws Exception {
                LOGGER.info("Setting up tx support..");
                super.afterPropertiesSet();
            }
        };
        // Use default grid client instance created..
        springTransactionManager.setTransactionConcurrency(TransactionConcurrency.PESSIMISTIC);
        return springTransactionManager;
    }

}
 类似资料:
  • 我在一个项目中使用Spring Data JPA(1.3.0.Release),并使用Spring(3.2.2.Release),遇到了一个奇怪的问题。我使用的是基于xml的配置,如下所述。 使用此配置扫描所有扩展JParePository的接口。这些接口按以下方式注入到服务类中。 此配置按预期工作,没有任何问题。但是当我添加以下配置时,我得到了UserRepository的BeanCreatio

  • 我不明白InputStream、InputStreamReader和BufferedReader到底是做什么的。它们都有一个read()方法,对于BufferedReader,还有readLine()。为什么我不能只使用InputStream或者只添加inputStreamReader呢?为什么我需要添加BufferedReader?我知道这与效率有关,但我不明白怎么做。 我一直在研究Buffer

  • 我需要为我的bean类提供一些配置。在普通的Spring应用程序中,我使用@PostConstruct,但在Play 2.4中似乎不起作用

  • 问题内容: 我遇到了一个有趣的问题,一个以苹果为中心的用户将渴望在Filemaker Pro上运行数据库,而我们已经有多个数据库在MS SQL上运行。 FM Pro在外观上令人赞叹,作为与客户合作的前端看起来不错,但我更喜欢SQL。 有人同时使用吗?您是否可以轻松地在SQL和FM Pro之间运行任务以将数据更新到FM Pro(比如说隔夜)?是否有人出于任何目的将SQL从FM Pro更改为可以吗?

  • 问题内容: 我很难让这些组件正确地编织在一起。我已经安装了Spark并且可以成功工作,我可以在本地,独立运行作业,也可以通过YARN运行作业。据我所知,我已经按照此处和此处建议的步骤进行操作 我正在使用Ubuntu,而我拥有的各种组件版本是 Spark Spark 1.5.1-bin-hadoop2.6 Hadoop hadoop-2.6.1 蒙哥 2.6.10 *从 https://github

  • 完全相同的问题,因为Ubuntu WSL与docker无法找到 但我的要求不同——我想 坚持使用WSL1(出于本主题以外的原因) 也就是说,我有WSL1和Docker for Windows彼此并行安装。这是我目前的信息: 我看不到“资源”中的集成- 只是我遇到了上面的问题——我的可以在任何地方工作,在CMD、Powershell、git bash等中,只是不在我的WSL中。 我找到的所有解决方案