Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按计划在Azure WebJob上运行Spring启动应用程序_Java_Spring Boot_Spring Batch_Azure Webjobs_Azure Webjobssdk - Fatal编程技术网

Java 按计划在Azure WebJob上运行Spring启动应用程序

Java 按计划在Azure WebJob上运行Spring启动应用程序,java,spring-boot,spring-batch,azure-webjobs,azure-webjobssdk,Java,Spring Boot,Spring Batch,Azure Webjobs,Azure Webjobssdk,我有一个常规的Java/Spring批处理作业,每天晚上运行,从一个数据库获取数据,并在项目的数据库中插入/更新。这在当前部署在Tomcat上的设置中运行良好 现在我需要将它分离出来,并在Azure WebJob上运行它。什么是好方法 我可以为此使用弹簧靴吗? 但我不确定它将如何工作。我的意思是,我可以为我的项目(使用Spring Boot编写的作业)创建一个JAR,并将其复制到Azure WebJob上。然后有一个带有“java-jar…”的批处理文件,但是: 这难道不是像运行和部署Spri

我有一个常规的Java/Spring批处理作业,每天晚上运行,从一个数据库获取数据,并在项目的数据库中插入/更新。这在当前部署在Tomcat上的设置中运行良好

现在我需要将它分离出来,并在Azure WebJob上运行它。什么是好方法

我可以为此使用弹簧靴吗? 但我不确定它将如何工作。我的意思是,我可以为我的项目(使用Spring Boot编写的作业)创建一个JAR,并将其复制到Azure WebJob上。然后有一个带有“java-jar…”的批处理文件,但是:

  • 这难道不是像运行和部署SpringBoot应用程序一样,内置的web服务器在我运行它之后将继续运行吗
  • 其次,下次Azure WebJob按照我设置的时间表执行批处理文件时,它将再次尝试运行Spring Boot应用程序,并且我可能会收到绑定异常,因为从第一次运行开始,端口就已经在使用中
如果有人能帮我做这件事,我将不胜感激

多谢各位

这难道不是像运行和部署SpringBoot应用程序一样,内置的web服务器在我运行它之后将继续运行吗

SpringBoot应用程序可以是非web应用程序,一个很好的例子是SpringBoot批处理应用程序,它不依赖于servlet容器

您可以创建一个Spring引导应用程序来运行Spring批处理作业,然后在作业完成时停止,而无需在(嵌入式)Tomcat中部署它。您可以在此处找到一个示例:

其次,下次Azure WebJob按照我设置的时间表执行批处理文件时,它将再次尝试运行Spring Boot应用程序,并且我可能会收到绑定异常,因为从第一次运行开始,端口就已经在使用中


一旦你有了一个脚本,可以用
java-jar mybatchapp.jar
运行你的应用程序,你就可以在需要的时候使用Azure调度器来运行你的作业。由于批处理应用程序不包含/启动嵌入式servlet容器,因此不会出现端口冲突。

感谢您的回复,非常感谢!顺便问一下,您是否有或者知道是否有这样一个示例可以将数据从一个数据库表读取到另一个数据库表?我通过以下和链接尝试了一个示例,但它不起作用。我只是想在一个数据库中完成这项工作,从一个表中获取数据并插入到另一个表中。它什么也不做,也不出错。很高兴它能帮上忙!如果它回答了你的问题,请接受答案。关于从一个表读取数据并写入另一个表的示例,您可以在这里的spring batch samples模块中找到一个示例:要在azure portal中部署web作业,我们需要先创建一个VPC。或者我们可以直接部署我们的webjob而不创建VPC?恳请建议