我正在使用配置了注释的Spring Batch 3.0.3来创建一个批处理作业,该作业重复一个不确定次数的步骤.
我的第一步将在内存中读取重复步骤中使用的项目列表.我想重复一遍迭代这个作业范围的列表.
如何配置我的作业以运行相同的步骤x次?我在xml中看到了一个步骤,指定了下一步要运行的步骤.我想我可以在一个无限循环中指向彼此的两个步骤,直到列表被迭代.这会有效吗?有没有办法用注释做到这一点?下面是我的主配置文件,其中一些代码无效.
@ComponentScan(excludeFilters = @Filter(IgnoreDuringScan.class))
@EnableAutoConfiguration
@EnableBatchProcessing
@Loggable
public class BatchCrudConfiguration
{
@Bean
public Job batchCRUDJob(JobBuilderFactory jobBuilderFactory, Step[] processSheetSteps)
{
JobBuilder jobBuilder = jobBuilderFactory.get("batchCRUDJob").incrementer(new RunIdIncrementer());
FlowBuilder<FlowJobBuilder> jobFlowBuilder = jobBuilder.flow(processSheetSteps[0]);
for (int i = 1; i < processSheetSteps.length; i++)
{
jobFlowBuilder = jobFlowBuilder.next(processSheetSteps[i]);
}
return jobFlowBuilder.end().build();
}
@Bean
public Step[] processSheetSteps(
StepBuilderFactory stepBuilderFactory,
RawDataReader[] readers,
DelegatingWriter writer,
DelegatingProcessor processor,
@Value("${batchcrud.chunkSize}") int chunkSize)
{
int numberOfReaders = readers.length;
Step[] steps = new Step[numberOfReaders];
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud) 我无法使用toDataUrl()。这是我尝试获取画布图像并将其用作现有图像元素来源的代码。
var canvas = document.getElementById('glcanvas');
canvas.setAttribute('crossOrigin','anonymous');
var img = document.getElementById('imageToShowCanvas');
img.src = canvas.toDataURL();
Run Code Online (Sandbox Code Playgroud)
imageToShowCanvas显示的是一个损坏的URL。当我console.log调用toDataUrl()的结果时,我得到一个链接,该链接显示具有画布高度和宽度的透明图像。
我听说过cors问题会导致此类问题,但我正在将chrome与–allow-file-access-from-files标志一起使用,并且控制台中没有任何安全性错误。有没有更简单的方法来获取我的webGl画布的屏幕截图?