首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Java版Spring Cloud B2B2C o2o鸿鹄云商平台--部署架构

上一篇文章我们介绍了鸿鹄云商b2b2c o2o基础的部署方案,考虑到项目部署中架构拓展性、伸缩性、可用性、安全性、开放性、准确性、可维护性的特点,我们针对鸿鹄云商平台b2b2c制定整体部署架构方案,我这里不做更多的介绍,直接上图,希望能通过部署架构图让更多的读者理解。 以上是我参与的Spring Cloud B2B2C O2O鸿鹄云商平台-部署架构解决方案,从现在开始,我会将每一个细节点落实到文章上,希望能够帮助更多的朋友。

优秀的个人博客,低调大师

java版spring cloud+spring boot+redis社交电子商务平台-spring-cloud-config

创建配置管理服务器及实现分布式配置管理应用,实现统一配置管理。 提供三种方式: 基于git 基于svn(淘汰) 基于本地文件(测试使用) 如何使用 创建server端 创建client端 创建server端 让你的分布式的应用可以取到配置。服务端很简单,只需要配置你的配置文件位于哪里就行了。 pom.xml: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> 当然了,我已经在全局加入了一些其他配置文件,因为我使用了模块式的开发,所以这里很简单。 配置文件: spring.application.name=config-server server.port=8888 spring.cloud.config.server.git.uri=file:///${user.home}/config-repo 一般端口都是8888,可以随意设置,git这里我采用了本地git,方便测试。如果是远程的话,肯定是私有的内部公开的,可以使用用户名和密码登录。官网查看最新的配置文件即可。 启动: @SpringBootApplication @EnableConfigServer public class SpringCloudConfigServerApplication { public static void main(String[] args) { SpringApplication.run(SpringCloudConfigServerApplication.class, args); } } 在启动文件里,加入这样一句话就好啦。 创建client端 当然了,也很简单。 pom.xml: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> 配置文件: spring.application.name=appname1 server.port=8082 spring.profiles.active=dev spring.cloud.config.profile=dev spring.cloud.config.uri=http://localhost:8888/ 这里主要就是你的服务端在哪里。spring.application.name 和 spring.cloud.config.profile 决定了会去远程git里取哪一个git文件。spring.profiles.active决定了使用哪个版本。 其实,这里就是你的拥有一大堆逻辑代码的那个应用。所以这里可以用各种各样的配置文件。当然了,我们推荐你全部都配置在远程端。不然以后修改或者临时需求修改很麻烦。 使用配置: @Value("${foo}") String foo; 这是我使用了自己的配置的方法,如果是spring自己的话,比如数据库配置的datasource等,会直接使用。

优秀的个人博客,低调大师

java B2B2C 源码 springmvc mybatis多租户电子商城系统- Stream重新入队(RabbitMQ)

本文将介绍RabbitMQ的binder提供的重试功能:重新入队 准备一个会消费失败的例子,可以直接沿用前文的工程,也可以新建一个,然后创建如下代码的逻辑: @EnableBinding(TestApplication.TestTopic.class) @SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } @RestController static class TestController { @Autowired private TestTopic testTopic; /** * 消息生产接口 * * @param message * @return */ @GetMapping("/sendMessage") public String messageWithMQ(@RequestParam String message) { testTopic.output().send(MessageBuilder.withPayload(message).build()); return "ok"; } } /** * 消息消费逻辑 */ @Slf4j @Component static class TestListener { private int count = 1; @StreamListener(TestTopic.INPUT) public void receive(String payload) { log.info("Received payload : " + payload + ", " + count); throw new RuntimeException("Message consumer failed!"); } } interface TestTopic { String OUTPUT = "example-topic-output"; String INPUT = "example-topic-input"; @Output(OUTPUT) MessageChannel output(); @Input(INPUT) SubscribableChannel input(); } } 内容很简单,既包含了消息的生产,也包含了消息消费。消息消费的时候主动抛出了一个异常来模拟消息的消费失败。 在启动应用之前,还要记得配置一下输入输出通道对应的物理目标(exchange或topic名)、并设置一下分组,比如: spring.cloud.stream.bindings.example-topic-input.destination=test-topic spring.cloud.stream.bindings.example-topic-input.group=stream-exception-handler spring.cloud.stream.bindings.example-topic-input.consumer.max-attempts=1 spring.cloud.stream.rabbit.bindings.example-topic-input.consumer.requeue-rejected=true spring.cloud.stream.bindings.example-topic-output.destination=test-topic 完成了上面配置之后,启动应用并访问localhost:8080/sendMessage?message=hello接口来发送一个消息到MQ中了,此时可以看到程序不断的抛出了消息消费异常。这是由于这里我们多加了一个配置:spring.cloud.stream.rabbit.bindings.example-topic-input.consumer.requeue-rejected=true。在该配置作用之下,消息消费失败之后,并不会将该消息抛弃,而是将消息重新放入队列,所以消息的消费逻辑会被重复执行,直到这条消息消费成功为止。

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册