class JobConfigurationForRunningSystemCommandTaskletsWithVirtualThreads {

	@Bean
	public SystemCommandTasklet tasklet() {<FILL_FUNCTION_BODY>}

	@Bean
	public Job job(JobRepository jobRepository, JdbcTransactionManager transactionManager, SystemCommandTasklet tasklet)
			throws Exception {
		Step step = new StepBuilder("step", jobRepository).tasklet(tasklet, transactionManager).build();
		return new JobBuilder("job", jobRepository).start(step).build();
	}

}

		SystemCommandTasklet systemCommandTasklet = new SystemCommandTasklet();
		systemCommandTasklet.setCommand("java", "-version");
		systemCommandTasklet.setCommandRunner(new JvmCommandRunner() {
			@Override
			public Process exec(String[] command, String[] envp, File dir) throws IOException {
				System.out.println(Thread.currentThread() + ": running command " + Arrays.toString(command));
				return super.exec(command, envp, dir);
			}
		});
		systemCommandTasklet.setTaskExecutor(new VirtualThreadTaskExecutor("spring-batch-"));
		systemCommandTasklet.setTimeout(1000L);
		return systemCommandTasklet;
	
<no_super_class>