草庐IT

Spring-Data-Elasticsearch

全部标签

java - 在 web 感知和门户 spring 上下文中为 @Scope 定义的有效值在哪里?

以下允许在Spring3.0中声明单例bean:@Bean@Scope(BeanDefinition.SCOPE_SINGLETON)privatevoidsetBean1(Bean1b1){this.b1=b1;}但是,BeanDefinition没有为请求、session和全局session定义范围值。这些是在哪里定义的?否则,我应该使用@Scope("request")、@Scope("session")和@Scope("globalsession")? 最佳答案 BeanDefinition只有SCOPE_SINGLETON

java - 动态创建 spring bean 并更改现有 bean 的属性

我通过遵循http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/成功地实现了数据库连接的动态更改文章。但现在的问题是,我在由遗留应用程序管理的配置文件中有一个数据库url列表。有没有一种方法可以根据值列表(即Year2011DataSource、Year2012DataSource等)在Spring上下文中创建bean并使用刚刚创建的那些bean填充dataSourcebean的映射? 最佳答案 我认为非常适合这个要求的是自定义BeanFactoryPo

SpringBoot集成Elasticsearch搜索引擎

1.背景介绍1.背景介绍Elasticsearch是一个基于Lucene的搜索引擎,它提供了实时、可扩展和可伸缩的搜索功能。SpringBoot是一个用于构建新Spring应用的起点,它旨在简化开发人员的工作,使其能够快速地构建可扩展的、可维护的应用程序。在现代应用程序中,搜索功能是非常重要的。它可以帮助用户快速找到相关的信息,提高用户体验。因此,将Elasticsearch集成到SpringBoot应用中是一个很好的选择。在本文中,我们将讨论如何将Elasticsearch集成到SpringBoot应用中,以及如何使用Elasticsearch进行搜索。2.核心概念与联系2.1Elastic

Spring Web 过滤器使用常见错误(上)

我们都知道,过滤器是Servlet的重要标准之一,其在请求和响应的统一处理、访问日志记录、请求权限审核等方面都有着不可替代的作用。在Spring编程中,我们主要就是配合使用@ServletComponentScan和@WebFilter这两个注解来构建过滤器。说起来比较简单,好像只是标记下这两个注解就一劳永逸了。但是我们还是会遇到各式各样的问题,例如工作不起来、顺序不对、执行多次等等都是常见的问题。这些问题的出现大多都是使用简单致使我们掉以轻心,只要你加强意识,大概率就可以规避了。那么接下来我们就来学习两个典型的案例,并通过分析,带你进一步理解过滤器执行的流程和原理案例1:@WebFilter

java - 从 java 启动 elasticsearch 实例?

我想从Java管理elasticsearch的启动和停止。有什么简单/好的方法可以做到这一点吗?我们正在尝试在我们的产品中部署ElasticSearch,我们希望在我们自己的产品中维护客户机器上的ElasticSearch实例,现在一切都取决于从es.bat或其他东西启动ElasticSearch实例.顺便说一句,谁能给我一个例子,说明如何围绕ElasticSearch的JestAPI模拟测试一些代码,这样我就可以在不需要启动ElasticSearch实例的情况下对调用ElasticSearch的东西进行单元测试? 最佳答案 启动一

java - 如何将spring hibernate mysql迁移到mongodb

我正在尝试将一个hibernate/mysql项目迁移到mongodb。hibernate是否支持迁移到mongodb?如果是这样,那么像一对一或一对多关系这样的ORM映射是如何翻译的? 最佳答案 Hibernate支持关系数据库,例如MySQL、PostgreSQL、Oracle、DB2和SQLServer。但是,MongoDB不是关系数据库,而是文档数据库。差异非常大:关系数据库定义表之间的关系。表格由行和列组成。这些列连同它们的任何类型或关系约束定义了所谓的模式。文档数据库定义文档集合。文档数据库不知道模式:每个文档都可以有不

java - 如何在 Spring Security 中撤销授权 token ?

在注销Controller中,我尝试编写了很多代码组合。现在我有这个:finalAuthenticationauth=SecurityContextHolder.getContext().getAuthentication();if(auth!=null){newSecurityContextLogoutHandler().logout(request,response,auth);}SecurityContextHolder.getContext().setAuthentication(null);auth.setAuthenticated(false);但在提供代码执行token后

java - 如何在没有嵌入式 tomcat 的情况下启动 Spring Boot 应用程序?

我有一个使用jhipster生成的SpringBoot应用程序,它运行良好。但是,我还需要为一些后台批处理作业创建第二个应用程序,这个应用程序使用了第一个应用程序的大部分spring服务。我所做的是创建第二个主类,它启动一个springboot应用程序。问题是这也会启动嵌入式网络服务器和所有仅对网络应用程序有用的服务。我只需要服务、持久性和其他未专门绑定(bind)到GUI的类。这是我的两个主要类(已简化)普通的spring-boot应用:@ComponentScan@AutoConfigureclassApplication{publicstaticvoidmain(String[]

java - Spring批处理仅限制单个作业实例

我有一个可以被restURL踢掉的springbatch作业。我想确保只允许运行一个作业实例。如果另一个实例已经在运行,则不要启动另一个实例。即使参数不同。我进行了搜索,但没有发现开箱即用的解决方案。考虑扩展SimpleJobLauncher。检查作业的任何实例是否正在运行。 最佳答案 你可以试试interceptthejobexecution,实现JobExecutionListener接口(interface):publicclassMyJobExecutionListenerextendsJobExecutionListene

java - Spring @Transactional注解: Self Invocation

我知道当从同一个类内部调用事务方法时,它不会在事务中运行。Spring为事务方法创建代理并将它们包装在try-catchblock中,并在发生异常时回滚。考虑以下场景:@TransactionalpublicvoidsaveAB(Aa,Bb){saveA(a);saveB(b);}@TransactionalpublicvoidsaveA(Aa){dao.saveA(a);}@TransactionalpublicvoidsaveB(Bb){dao.saveB(b);}假设saveAB被另一个对象调用并且在saveB中发生异常,所以saveA成功完成但saveB没有。据我所知,即使sa