如何在H2数据库中持久保存数据
我的应用程序有3个组件 1)一个接收请求并存储到数据库中的用户面向组件 2)读取数据形式的数据B,对其进行处理并将其发送到外部系统. 3)存储用户输入的数据库 我目前正在Eclipse中使用H2在内存数据库中使用H2进行测试. 我想端到头测试,但问题是我已经停止了用户面向组件并启动后端组件. 因此,每次启动后端组件时,DB都会从头开始创建. 我如何测试以使流量如下:用户输入数据 - >数据持续到db-> baackend连接到相同的持续数据 - > Process数据 +传递到外部系统? 注意:我尝试使用ddl-auto:更新,但它不起作用. 解决方案 除spring.jpa.hibernate.ddl-auto=update外,设置 auto_reconnect为true . 示例: spring.datasource.url=jdbc:h2:file:~/test2;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT
0 2023-05-25
编程技术问答社区
如何将大型JSON字符串转换为JSON对象?
我的Spring应用程序对服务器进行了休息请求,并且服务器的响应是JSONOBJECT字符串. JSON String非常巨大(200MB).我想将json字符串转换为jsonobject.以下是我的转换代码: exchange = restTemplate.exchange(Url, HttpMethod.POST, postEntity, String.class); jsonObject = objectMapper.readValue(exchange.getBody(), JSONObject.class); 对于单个请求,它需要3-5秒进行转换.但是,如果有多个请求,转换需要太多时间(并行8-10个请求60秒). 有什么更好的方法吗? 解决方案 我会说,使用杰克逊 - 戴塔宾德的ObjectMapper将200mb的JSON转换为对象,几乎总是会消耗大量计算时间,此外还有大量的内存. 如果您不需要一次记忆中的JSON表示的整个对象,i. e.它的块就足
2 2023-05-24
编程技术问答社区
在阻止应用程序设计中使用Spring Webflux的网络电量是否会导致资源的使用量大于RESTTEMPLATE
我正在处理几个具有传统螺纹螺纹式螺纹应用程序的弹簧启动应用程序.我们正在使用Spring-boot-webflux来获取网络电量,以在应用程序之间执行我们的宁静集成.因此,我们的申请设计要求我们在收到响应后立即阻止发布者. 最近,我们一直在讨论我们是否不必要地使用反应性模块在我们原本阻止的应用程序设计中使用资源.正如我所理解的那样,WebClient通过为事件循环中执行反应性操作来利用事件循环.因此,在分配另一个线程以执行HTTP-REQUEST的同时,将WebClient与.block()一起使用.与替代的RESTTEMPLATE相比,WebClient似乎会使用事件循环花费其他资源. 以这种方式部分引入Spring-Webflux会导致额外的资源,同时对性能产生任何积极的贡献,这是正确的吗?我们不希望升级当前的堆栈会完全反应性,因此逐渐升级的论点不适用. 解决方案 在此介绍其中一些要点. WebClient将使用有限数量的线程 - 每核2个线程在我的本地计算
2 2023-05-23
编程技术问答社区
缓慢的日食弹簧STS插件
AM新手到春季和安装Eclipse STS插件,并且使用CPU峰值在使用中似乎很慢.笔记本电脑只是加热了,从字面上看,风扇就像喷气引擎直接响应服务的开始/停止. 尽管跟随确实解决了Spring STS的所有Eclipse性能问题,但实际的日常开发非常慢,服务实际上需要几分钟的时间才能开始,并且Eclipse在调试代码和正常代码导航的同时保持冻结服务启动时会冻结日食. java.util.concurrent.ExecutionException :org.eclipse.lsp4j.jsonrpc.jsonrpcexception:java.io.ioexception:管道已关闭 该机器具有32 GB RAM,Eclipse到2 GB至8 GB的内存使用量之间的任何位置.只是不知道这里有什么问题.有人面对这个问题吗? 解决方案 我在这里和修复程序中找到了这个问题,并希望将其发布给可能面对同样的任何人.问题是Eclipse"发射组". 简短答案 - 不要使
2 2023-05-23
编程技术问答社区
JMeter : java.net.NoRouteToHostException。无法分配请求的地址(地址不可用)。
我创建了一个具有hellocontroller的简单弹簧启动应用程序. Get API: http://localhost:8080/hello Response: Hello World 现在,我创建了一个Jmeter脚本,其中有90万并发用户击中上述get get api. 当我运行Jmeter脚本时,在计数30k之后,我开始遇到错误: java.net.NoRouteToHostException: Cannot assign requested address (Address not available) 这样做的原因是什么?我该如何解决此问题? 我正在使用8GB RAM的Ubuntu 18.04 执行操作时,只有Jmeter和STS开放. 解决方案 您可以关注 lakshmi narayan答案增加可用端口: 分辨率: 使用以下命令增加了本地端口范围: echo 1024 65000>/proc/sys/net/ipv4
2 2023-05-23
编程技术问答社区
为什么我的Springboot带有嵌入的tomcat时,当过程首次请求时太慢了?
env. OS:MacOS Mojave版本10.14.5(CentOS有相同的问题) Springboot:2.1.6.Release(嵌入式tomcat 9.0.21),战争 我是Spring Boot的新玩家,我认为这有助于建立我的项目.现在,我已经完成了工作,但是一个奇怪的现象骚扰了我.我的项目花费了大约5分钟来响应第一个请求,它的费用为5分钟,而不是5秒,在第一个要求之后的请求似乎通常是通常的.这是非常慢的,所以我需要您的帮助. 在jstack的帮助下,我大部分时间都在做事的代价,同样的是打开战争. "http-nio-15281-exec-5" #105 daemon prio=5 os_prio=31 tid=0x00007f988eaff800 nid=0x13b03 runnable [0x0000700013218000] java.lang.Thread.State: RUNNABLE at java.util.zip.I
2 2023-05-23
编程技术问答社区
加快Spring Boot的启动时间
我有一个Spring Boot应用程序.我添加了很多依赖项(不幸的是,看起来我都需要它们),并且启动时间上升了很多.只是做一个SpringApplication.run(source, args)需要10秒. 虽然与"使用"的东西相比,这可能并不多,但我不高兴它需要这么多,主要是因为它打破了开发流程.此时,应用程序本身很小,因此我认为大多数时间都与附加的依赖关系有关,而不是App类本身. 我认为问题是类扫描,但我不确定如何: 确认这是问题(即如何"调试" Spring Boot) 如果确实是原因,我该如何限制它,因此它会变得更快?例如,如果我知道某些依赖关系或软件包不包含弹簧应该扫描的任何内容,是否有一种限制的方法? 我假设增强春季在启动过程中具有平行的bean初始化 ,但是这种增强请求自2011年以来就已经开放,没有任何进展.我看到了春季靴子本身的其他一些努力,例如调查tomcat jarscanning速度改进,但这是特定于tomcat的,已被放弃.
4 2023-05-23
编程技术问答社区
Spring Boot Autowired和Post Construct是如何工作的?
我有三个类,如下 - @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @Component public class Test { @Autowired Test2 test2; @PostConstruct public void sayHi(){ System.out.println("Hello World"); test2.SayHello(); } public void printMe(){ System.out.println("print me is called in Bean B"
2 2023-05-23
编程技术问答社区
为什么要在一个实体上同时使用@AllArgsConstructor和@NoArgsConstructor?
我已经在Intellij中的Spring Boot的应用程序上看到了多个代码,并且许多代码都使用@AllArgsConstructor和@NoArgsConstructor一起使用,并且两个都是构造函数,但是每个的目的都是不同的 - @AllArgsConstructor生成一个构造函数,需要对带注释的类中的每个字段进行参数 @NoArgsConstructor生成没有参数的构造函数 那么,为什么我们在同一实体上一起使用两者?在这种情况下它们如何起作用? @Data @AllArgsConstructor @NoArgsConstructor @ToString @Entity public class Product { @Id private int id; private String name; private String type; } 解决方案 jpa规范要求所有持久类别()具有公共或受保护的No-Arg构造函数.
0 2023-05-23
编程技术问答社区
我的Spring-Boot应用程序不会在IntelliJ中停止运行
我有一个我在Intellij中启动的Spring-Boot应用程序: 但是,当我想通过单击以下时间停止此应用程序时: 它只是永远旋转,我无法成功启动该应用程序: 唯一有帮助的是重新启动我的机器. 关于如何在本地杀死该实例而无需重新启动我的机器的任何建议? 解决方案 您使用的操作系统是什么?我建议您在任务管理器上结束过程. macOS:可以按[CMD] + [ALT] + [ESC] 来完成 Windows:可以按[CTRL] + [ALT] + [DELETE] 来完成 Linux:搜索称为系统监视器的应用 其他解决方案 这个想法对此启动一无所知. 原因:此应用程序是从命令行启动的,但是在Idea容器之外启动. 此发布等同于从CMD启动. 解决方案: 找到弹簧申请过程的PID. 2.使用: CMD:TaskKill/f/pid bash:taskkill//f//pid 检查结果.
16 2023-05-23
编程技术问答社区
在IntelliJ IDEA中自动完成`log.info`?
我正在使用java,我记录了以下内容: log.info("createArticle userId={} articleId={} title={} content={}", userId, articleId, title, content); 您可以看到,在将此行输入我的IDE时,我必须手动写下这些字符,例如"userId={} ".理想情况下,我希望我可以简单地键入userId,而Intellij Idea将自动帮助我填写"userId={} "(以格式字符串)和, userId(在参数列表中). 问题:我该如何在Intellij Idea中做到这一点?或者,还有其他方法可以更快地键入此类记录线 ? 感谢您的建议! 解决方案 可以使用 groovyScript("_1.split(',').collect { it.trim() + '={}' }.join(' ')", B) See video
4 2023-05-23
编程技术问答社区
IntelliJ没有@NotBlank的功能。
所以我运行我的程序,我需要从import javaz.validation.constraints.NotBlank;设置@NotNull 所有 @NonNull private final String firstName; 和import org.springframework.lang.NonNull; 我如何安装 @notnull 或 @nonnull 同样的东西? 解决方案 简短答案:有一个微妙的区别,但这完全取决于您想要的内容,因此您要么需要阅读我上面链接的帖子,要么告诉我们更多信息.
12 2023-05-23
编程技术问答社区
Spring Boot Starter的Maven版本
我不是春季靴启动器版本的专家,并且面临问题.我正在尝试使用还有一件事.在另一个项目中,我添加了相同的依赖性.但这没关系,版本与Maven Repositoty的描述相同. 这两个项目之间存在差异.其中一个具有Spring -Boot版本2.1.9(未编译)和另一个-2.3.4(whihk效果很好).当我通过POM中的Artefactid检查了包含入门库的版本时 - 它们还可以,5.2.0. pom.xml
10 2023-05-23
编程技术问答社区
在Spring Boot中,当连接到具有中欧时区的MySQL数据库时,有什么方法可以解决已知的问题吗?
在Spring Boot中,从 mysql 连接到数据库时,我会收到以下错误: 2021-02-11 20:50:56.204 ERROR 22892 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. java.sql.SQLException: The server time zone value 'Mitteleurop�ische Zeit' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specif
2 2023-05-23
编程技术问答社区
为什么我的Spring应用程序可以使用@RestController,但不能使用@Controller?
我正在遵循有关春季应用程序的教程,其中讲师正在构建基本的春季MVC应用程序.讲师正在使用没有构建管理器的Eclipse,但我正在使用Gradle使用Intellij Ultimate.我不确定这是否重要,但我包括透明. 在第一个项目中,讲师创建了一个看起来像这样的应用程序. package com.example.springdemo.mvc; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.Controller; @Controller public class HomeController { @RequestMapping("/") public String showPage(){ return "main-menu"; } } 当我运行项目时,我会
10 2023-05-23
编程技术问答社区
在intellij idea中,Spring Boot嵌入式Tomcat服务器没有启动。
我在使用Spring Initializer运行新创建的Spring Boot应用程序时面临问题. 嵌入式tomcat无法从以下错误开始 org.springframework.context.applicationcontextexception:失败 启动bean'WebServerStartStop';嵌套异常是 org.springframework.boot.web.server.webserverexception:无法 启动嵌入式tomcat服务器 以下是运行应用程序时的完整异常堆栈跟踪消息 SnapShooter listening on port 57894 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | |
6 2023-05-23
编程技术问答社区
创建名称为'requestMappingHandlerMapping'的bean时出错--SpringBoot
我在运行时遇到以下错误. Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambigu
14 2023-05-23
编程技术问答社区
使用IntelliJ部署嵌入Tomcat的spring-boot应用
我使用嵌入式tomcat具有基于弹簧靴的应用程序.通过mvn spring-boot:run目标部署时,我没有问题,,但是尝试使用Intellij Spring-Boot插件部署时,我有问题.重要注意,我们已经修改了默认的POM,将应用程序变成一场可以部署到完整的tomcat Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.support.SpringBootServletInitializer at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:163) ~[spring-core-4.3.8.RELEASE.jar:4.3.
12 2023-05-23
编程技术问答社区
无法在IntelliJ中编译/运行一个java项目
问题: 昨天工作正常.今天,我无法编译我的项目(Spring-Boot).我创建了一个演示项目,以模拟我当前项目中发生的相同问题. 当我尝试使用不想编译的运行按钮运行项目时.注意失败的汇编中的所有错误.另外,您可以看到所有依赖项都是导入的(请参阅外部库): 我知道我可以通过在终端中键入mvn spring-boot:run来运行该应用程序.但是由于某种原因,我不想这样做. 您可以看到,此演示是一个简单的弹簧启动项目: pom.xml:
6 2023-05-23
编程技术问答社区