问题标签 [java-batch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
956 浏览

jakarta-ee - Websphere 8.x 中的 Spring 批处理

JSR 352 在 Java EE7 中定义。但在 WebSphere 8.x 中,仅支持 Java EE6。据我所知,Spring batch 3.x 与 JSR 352 兼容。我的问题是,Spring batch 可以在 WebSphere 8.x(以及其他仅支持 JEE6 的应用服务器)中运行吗?特别是并行处理是否仍然可以作为并发执行器也是 Java EE7 的一部分?

0 投票
1 回答
138 浏览

java - 从main方法调用批处理文件时,批处理文件中的java命令没有被执行

我通过以下方式从 main 方法调用批处理文件:

批处理文件的内容如下:

执行后,文件夹 a1 中的文件被复制到文件夹 a2,但未生成 log1.txt。但是,如果我双击此批处理文件,文件将被复制,并且 log1.txt 将使用 java 版本生成。

0 投票
1 回答
1168 浏览

java - batchlets 是在 JavaEE Batch 中实现 ETL 步骤的正确方法吗?

我正在研究 Javaee Batch API (jsr-352),以测试使用该技术为我们自己的解决方案更改当前 ETL 工具的可行性。

我的目标是建立一个工作,我:

  • 在步骤 1 从数据源获取一些(虚拟)数据,
  • 步骤2中来自其他数据源的一些其他数据和
  • 在步骤 3 中合并它们。

我想处理每个项目而不是写入文件,而是将其发送到下一步。并且还存储信息以供进一步使用。我可以使用 batchlets 和jobContext.setTransientUserData().

我认为我没有正确理解这些概念:据我了解,JSR-352 是针对这种 ETL 任务的,但它有两种类型的步骤:块和批处理。块是“三阶段步骤”,其中一个读取、处理和写入数据。批处理任务不是对数据上的每个项目执行一次,而是一次(如计算总数、发送电子邮件等)。

我的问题是,如果我考虑批处理的定义,我的解决方案是不正确的。

一个人如何使用 Javaee Batch API 来实现这个 kinf od 工作?

0 投票
1 回答
280 浏览

jsf - 使用 JSF 和 Java EE Batch 上传时是否可以处理文件流?

我想在使用 JSF 2.2 上传文件时使用 Java EE Batch 处理大文件。

有没有办法获取上传流?

如果我使用 JSF 上传一个大文件,我总是会遇到以下错误:

0 投票
1 回答
150 浏览

java - 如何一次更新所有电子邮件?

我创建了我的 Java 应用程序以从表中发送电子邮件,然后更新表中的已发送电子邮件列。我现在想要的不是一次更新一封,而是一次更新所有电子邮件。这是我的代码发送电子邮件:

这是我用来更新表中字段的代码行:

我不确定我是否可以将其移至其他位置,并以这种方式更新与所有电子邮件一起归档的内容,而不是一一更新。如果有人可以帮助我,请告诉我。

0 投票
2 回答
1337 浏览

java - 从命令提示符运行程序时找不到类

ClassNotFound当我从命令提示符运行我的 java 程序时,由于出现错误,该程序没有运行。但是我看到的类在类路径上的一个 jar 文件中。当我从 Eclipse 运行时,同样的程序可以工作。不确定我在这里缺少什么。谢谢。我试图从我的 windows DOS 提示符运行以下命令:C:\softwares\SpringBatchExample4>java -cp "target/dependency-jars/*:target/spring-batch.jar" org.springframework.batch.core.launch.support.CommandLineJobRunner spring/batch/jobs/job-read-files.xml readJob。我查看了 target\dependency- 下的一个 jars jars 以确认 jar 文件具有 CommandLineJobRunner 类。

0 投票
2 回答
868 浏览

java - JSR 352:Wildfly9 / JBeret - 如何调用不包含在同一部署文件级别的批处理作业

我有一个包含 JAR 库的 WAR 应用程序。JAR 库包含批处理作业和批处理工件 ( META-INF/batch-jobs/...)。WAR 应用程序将此 jar 包含为一个库,并定义了一个 JAX-RS 服务,该服务允许客户端调用调用JobOperator接口的批处理作业......

当我运行此部署时,JSR 352 实现(JBeret)一直抱怨在调用 JobOperator 接口时无法找到任何作业......但是,如果批处理作业和批处理工件作为 WAR 部署的类包含,一切顺利...

那么,问题是什么?

0 投票
1 回答
522 浏览

shell - 通过 shell 脚本启动和监控 Spring Batch 作业(部署到 Jboss EAP)

场景

  • 所有批处理应用程序(基于 Spring Batch)都必须部署到 Jboss EAP。
  • 所有批处理作业都必须使用现有的企业工作负载/调度系统(例如通过 shell 脚本的 ASG-Zena)来启动和监控。
  • 所有批处理作业都将具有用于启动作业、获取作业状态和停止作业的 HTTP 端点。shell 脚本将利用端点来控制批处理作业。
    • 所有批处理作业将异步启动
  • shell 脚本将返回一个退出代码来指示批处理作业的执行结果,以便企业调度系统可以跟踪批处理作业的成功或失败

[企业工作负载/调度][Shell 脚本] <--> [HTTP][[批处理应用程序] Jboss EAP]

问题

  1. 由于批处理作业是通过 HTTP 端点异步启动的,所以 shell 脚本如何获取批处理作业的执行结果?
0 投票
1 回答
682 浏览

jakarta-ee - Java EE Batch API 动态添加批处理

您可以在 java 应用程序 ee 7 批处理上动态添加批处理吗?即:上传jar批处理和应用程序以将新jar添加到类路径并运行它...

0 投票
1 回答
564 浏览

db2 - 在 (Liberty) Batch 块步骤中,当从该步骤前面发布的数据库查询中滚动 ResultSet 时,获取“ResultSet is closed”

我正在从 DB2 表中读取数据并将其转储到文件中。

我在块侦听器的 beforeChunk() 中执行我的简单选择查询,并使用步骤上下文在 itemreader 中获取它。

在块中,我将检查点策略设置为 item,itemcount 设置为 5。

输出是被反复读取和写入的前 5 条记录。

在IBM 站点的这个示例 java 批处理代码中,它们在查询中具有开始和结束参数。

查询中是否需要有开始和结束参数?有没有其他方法可以确保当查询再次运行时,它会一次又一次地读取下一个数据块而不是同一个数据块?

我在 WebSphere Liberty 上使用 IBM 的 JSR 352 实现