`

获取容器端口(定时任务锁配置)

阅读更多
https://stackoverflow.com/questions/24643483/how-to-find-port-of-spring-boot-container-when-running-a-spock-test-using-proper


int port = ((TomcatEmbeddedServletContainer)((AnnotationConfigEmbeddedWebApplicationContext)context).getEmbeddedServletContainer()).getPort();


发现以下内容有想要的东西:
String id = ((AnnotationConfigEmbeddedWebApplicationContext) configContext).getId();


我的代码(覆写MongoLockProvider为MyMongoLockProvider是因为小公司一台服务器两个实例..):
关于定时任务锁
@Autowired
ConfigurableApplicationContext configContext;

//定时任务锁配置
	@Bean
	public LockProvider lockProvider(@Autowired MongoClient mongo) {
		String serverId = configContext.getId();
		return new MyMongoLockProvider(mongo, database,serverId);
	}
	@Bean
	public ScheduledLockConfiguration taskScheduler(LockProvider lockProvider) {
		return ScheduledLockConfigurationBuilder
				.withLockProvider(lockProvider)
				.withPoolSize(10)
				.withDefaultLockAtMostFor(Duration.ofMinutes(10))
				.build();
	}
分享到:
评论

相关推荐

    java获取web容器地址的方法

    1. **获取Web容器的配置文件路径**:首先,我们需要获取到Tomcat的`server.xml`配置文件路径,这个可以通过`System.getProperty("catalina.home")`获取到Tomcat的安装目录,再根据固定的路径找到`server.xml`文件。...

    xxl-job执行器配置文档.docx

    XXL-JOB是一个分布式任务调度平台,主要特点在于其易用性和灵活性,支持简单定时任务、CRON表达式定时任务以及动态任务配置。这个文档详细介绍了如何配置XXL-JOB的执行器,以便进行定时调度。 首先,调度中心是整个...

    ftp定时下载

    在这个特定的场景中,"ftp定时下载"指的是通过编程方式设置定时任务,使得FTP下载在特定的时间自动开始和停止,从而实现对远程文件的自动化同步。 【Timer定时器】是Java中的一个类,位于java.util包下,它提供了一...

    掌上办公部署文档1

    【掌上办公部署文档1】主要涉及了使用Docker进行MySQL主从配置和定时任务的部署,以及在多台服务器间同步配置文件的操作。以下是详细的知识点解析: 1. Docker部署MySQL主从配置: - **主库配置**:首先,通过`...

    xxl-job-master.zip

    在Java 7环境下,我们可以利用XXL-JOB实现定时任务的管理和执行。 首先,XXL-JOB的核心组件包括以下几个部分: 1. **调度中心(XXL-JOB-ADMIN)**:这是整个调度系统的大脑,负责任务的调度策略配置、任务触发、...

    简单实用的邮件主机内网ip和外网ip自动发送程序

    9. **配置文件管理**:程序可能包含一个配置文件,用于存储邮件服务器的参数、定时任务的频率以及收件人的邮箱地址等信息。使用配置文件便于管理和更新这些设置。 10. **测试与部署**:在实际使用前,需要对程序...

    shell脚本实现mysql定时备份、删除、恢复功能

    ### 定时任务配置 为了使备份操作自动化,使用`crontab`来设置定时任务。`crontab`是一个用于定时执行任务的工具,通过编辑`crontab`文件,可以指定脚本按照预定的时间执行。 例如,设置一个每天凌晨3点执行备份...

    hudson+配置说明-mySelf[整理].pdf

    【Hudson配置详解】 Hudson是一个强大的持续集成引擎,主要应用于软件开发过程中的自动化构建与测试。它具有以下核心特性: 1. **易于安装**:只需将`hudson.war`部署到Servlet容器(如Tomcat或JBoss),无需额外...

    Jenkins配置总结

    2. **构建触发器**:你可以设置触发构建的条件,如定时构建、代码提交后自动构建或手动触发。这有助于确保每次代码更改后都能立即进行构建和测试。 3. **构建步骤**:这是工作流的核心部分,定义了Jenkins在构建...

    SwooleDistributed-2.x文档

    定时任务的配置通过timerTask.php实现。 ### 微服务及集群配置 微服务是分布式系统设计的核心概念之一。文档介绍了如何配置微服务,包括Consul服务发现和配置、GrayLog日志工具以及Cluster集群配置。内核优化也是...

    Jenkins自动化构建部署说明文档

    - **分阶段部署**: 不同项目的部署可以单独处理,每个项目都应拥有独立的任务配置。 #### 四、常见问题解决 **4.1 更新代码问题** - **解决方案**: 针对Jenkins打包时不能及时更新至最新代码的问题,可以通过配置...

    Linux服务器下常用应用环境安装

    2. **Nginx日志切割**:通过配置Nginx的日志模块来实现日志的自动分割,通常会结合使用cron定时任务来实现日志的定期切割。 以上就是在Linux服务器上安装和配置常用WEB应用环境的过程,包括JDK、MySQL、Nginx、...

    采用Spring整合activeMQ与quartz的JMS数据同步实例

    5. **测试与部署**:完成配置后,通过JmsQuartzTest进行测试,验证数据同步和定时任务是否按预期工作。最后,将项目部署到生产环境,确保所有依赖和服务正常运行。 通过这种整合,我们能够构建一个健壮的系统,实现...

    jenkins搭建android自动打包环境

    通过以上配置,Jenkins 可以实现定时检查 SVN 更新、自动构建 APK 并上传至 fir.im 的完整流程。同时,如果配置了邮件通知,则可以在构建完成后收到成功的通知。 总结来说,通过 Jenkins 搭建 Android 自动打包环境...

    ejb教材

    - **定时任务**: 提供定时任务的支持,方便实现定期执行的任务。 - **资源管理**: 自动管理计时器资源,减少开发者的工作负担。 #### 三、总结 EJB 2.1和EJB 3.0是企业级应用开发的重要里程碑,它们不仅增强了对...

    金蝶云苍穹V1.5系统部署手册_非容器版_V1.0 .pdf

    - **添加定时任务**:利用Cron等工具设置定期执行的计划任务。 5. **启动苍穹服务** - **服务启动**:通过MC管理中心或命令行启动所需的服务。 - **服务状态监测**:定期检查服务运行状态,确保系统稳定可靠。 ...

    SpringBoot框架搭建

    SpringBoot简化了Spring应用的初始搭建以及开发过程,它集成了大量常用的第三方库配置,如数据库连接、定时任务、邮件服务等,使得开发者可以“开箱即用”。下面将详细介绍SpringBoot的基础搭建过程及其核心概念。 ...

    Spring Boot 学习笔记完整教程.docx

    - **使用 Spring Task**:配置定时任务,利用 `@Scheduled` 注解定义周期性任务。 13. **普通类调用 Bean** - **非 Spring 容器中的 Bean 访问**:在非 Spring 管理的类中使用 `ApplicationContextAware` 获取 ...

    自动启动Tomcat_C#_tomcat_

    8. **定时任务**:除了实时监控,还可以使用定时任务(如C#中的`System.Threading.Timer`)定期检查Tomcat状态,如果发现服务已停止,则执行重启操作。 9. **服务安装与卸载**:在C#中,可以使用`System.Service...

    DockerProxy:Docker代理将带有Letsencrypt的Https添加到任何容器

    Docker Proxy通常会包含一个定时任务,监控证书的有效期,并在必要时自动续订。 4. **安全配置**:为了最大限度地提高安全性,需要正确配置代理服务器的SSL/TLS设置,如启用严格的加密套件、禁用弱密码和过时的协议...

Global site tag (gtag.js) - Google Analytics