Batch files in java

Java Batch Tutorial

В современном мире Интернет изменил наш образ жизни, и одной из основных причин этого является использование Интернета для большинства повседневных обязанностей. Это приводит к огромному количеству данных, доступных для обработки.

Вот некоторые примеры использования огромных данных: обработка платежных ведомостей, выписок по счетам, начисление процентов и т. Д. Итак, представьте, что если все эти работы нужно было выполнять вручную, их выполнение может занять много лет.

Как это делается в нынешнем возрасте? Ответ – пакетная обработка.

1. Введение

Пакетная обработка выполняется на объемных данных, без ручного вмешательства и длительно. Это может быть большой объем данных или вычислений. Пакетные задания можно запускать по заранее заданному расписанию или запускать по требованию. Кроме того, поскольку пакетные задания обычно являются длительными, постоянные проверки и перезапуск после определенного сбоя являются общими функциями, встречающимися в пакетных заданиях.

1.1 История Java-пакетной обработки

Пакетная обработка для платформы Java была представлена ​​как часть спецификации JSR 352, части платформы Java EE 7, определяющей модель программирования для пакетных приложений, а также среду выполнения для запуска и управления пакетными заданиями.

Читайте также:  Php if contains list

1.2 Архитектура Java Batch

На диаграмме ниже показаны основные компоненты для пакетной обработки.

Архитектура для пакетной обработки Java

Архитектура для пакетных приложений решает проблемы пакетной обработки, такие как задания, шаги, репозитории, шаблоны записи процессора считывателя, чанки, контрольные точки, параллельная обработка, поток, повторы, секвенирование, разбиение и т. Д.

Давайте разберемся с потоком архитектуры.

  • Репозиторий заданий содержит задания, которые необходимо запустить.
  • JobLauncher вытаскивает работу из репозитория Job.
  • Каждая работа содержит шаги. Это шаги ItemReader , ItemProcessor и ItemWriter .
  • Item Reader – это тот, кто читает данные.
  • Item Process – это процесс, который обрабатывает данные на основе бизнес-логики.
  • Элемент записи будет записывать данные обратно в определенный источник.

1.3 Компоненты пакетной обработки.

Теперь мы попробуем разобраться в компонентах пакетной обработки.

  • Работа: работа включает в себя весь пакетный процесс. Он содержит один или несколько шагов. Задание составляется с использованием языка спецификации заданий (JSL), который определяет порядок, в котором должны выполняться шаги. В JSR 352 JSL указывается в XML-файле, известном как XML-файл задания. Работа – это, по сути, контейнер с шагами.
  • Шаг. Шаг – это доменный объект, который содержит независимую, последовательную фазу работы. Шаг содержит всю необходимую логику и данные для выполнения фактической обработки. Определение шага остается расплывчатым в соответствии со спецификацией пакета, потому что содержание шага является чисто специфическим для приложения и может быть настолько сложным или простым, насколько этого хочет разработчик. Есть два вида шагов: чанк и ориентированные на задачи .
  • Оператор задания: предоставляет интерфейс для управления всеми аспектами обработки задания, который включает в себя рабочие команды, такие как запуск, перезапуск и остановка, а также команды хранилища заданий, такие как получение задания и пошаговое выполнение.
  • Репозиторий заданий: содержит информацию о выполняемых в данный момент заданиях и исторические данные о задании. JobOperator предоставляет API для доступа к этому хранилищу. JobRepository может быть реализован с использованием базы данных или файловой системы.

Следующий раздел поможет понять некоторые общие символы пакетной архитектуры.

1.3 Шаги в работе

Шаг – это независимая фаза работы. Как обсуждалось выше, в задании есть два типа шагов. Мы постараемся понять оба типа подробно ниже.

1.3.1. Ориентированные на куски шаги

Шаги чанков будут считывать и обрабатывать один элемент за раз и группировать результаты в чанк. Затем результаты сохраняются, когда чанк достигает предварительно определенного размера. Блок-ориентированная обработка делает сохранение результатов более эффективным, когда набор данных огромен. Он состоит из трех частей.

  • Считыватель элементов читает входные данные один за другим из источника данных, который может быть базой данных, простым файлом, файлом журнала и т. Д.
  • Процессор будет обрабатывать данные по очереди на основе определенной бизнес-логики.
  • Писатель записывает данные кусками. Размер куска предопределен и настраивается

Как часть шагов чанка, существуют контрольные точки, которые предоставляют информацию структуре для завершения чанков. Если во время обработки фрагмента произошла ошибка, процесс может быть перезапущен на основе последней контрольной точки.

1.3.2 Задачи, ориентированные на задачу

Он выполняет задачу, отличную от обработки элементов из источника данных. К ним относится создание или удаление каталогов, перемещение файлов, создание или удаление таблиц базы данных и т. Д. Шаги задачи обычно не являются длительными по сравнению с шагами блока.

В обычном сценарии этапы, ориентированные на задачи, используются после этапов, ориентированных на фрагменты, где требуется очистка. Например, мы получаем файлы журнала как вывод приложения. Шаги чанка используются для обработки данных и получения значимой информации из файлов журнала.

Шаг задачи затем используется для очистки старых файлов журнала, которые больше не нужны.

1.3.3 Параллельная обработка

Пакетные задания часто выполняют дорогостоящие вычислительные операции и обрабатывают большие объемы данных. Пакетные приложения могут выиграть от параллельной обработки в двух сценариях.

  • Шаги, которые являются независимыми по своей природе, могут выполняться в разных потоках.
  • Этапы, ориентированные на блоки, где обработка каждого элемента не зависит от результатов обработки предыдущих элементов, может выполняться в нескольких потоках.

Пакетная обработка помогает быстрее выполнять задачи и выполнять операции с большими данными.

2. Инструменты и технологии

Давайте посмотрим на технологии и инструменты, используемые для создания программы.

  • Eclipse Oxygen.2 Release (4.7.2)
  • Java – версия 9.0.4
  • Gradle – 4.3
  • Spring boot – 2.0.1-Release
  • База данных HSQL

3. Структура проекта

Структура проекта будет выглядеть так, как показано на рисунке ниже.

Структура проекта для Java Batch

Приведенная выше структура проекта использует Gradle. Этот проект также можно создать с помощью maven, и build.gralde будет заменен файлом pom.xml. Структура проекта будет несколько зависеть от использования Maven для сборки.

4. Цель Программы

В рамках программы мы попытаемся создать простое пакетное приложение Java с использованием весенней загрузки. Это приложение будет выполнять следующие задачи.

  1. Чтение: – Чтение данных о сотрудниках из файла CSV.
  2. Обработка данных: – Преобразование данных сотрудника в верхний регистр.
  3. Записать: – записать обработанные данные сотрудника обратно в базу данных.

4.1 Gradle build

Мы используем Gradle для сборки как часть программы. Файл build.gradle будет выглядеть так, как показано ниже.

Источник

Create Batch file using Java

In this post, I will show you how to create batch file and execute it using Java. Along with this batch file I am also going to write some content in this batch file so that while executing this batch file I will get some output. Batch file is generally created under Windows operating system and it is used to perform various configurable tasks. The extension of the batch file is .bat.

Prerequisites

Create and Execute Batch File

In this section I am going to create batch file with some content using Java and once it is created I am also going to execute it using the Java program.

package com.roytuts.java.batch.file; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; public class BatchFile < public static void main(String[] args) < try < // create new file called sample in "d" drive File file = new File("sample.bat"); FileOutputStream fos = new FileOutputStream(file); // write some commands to the file DataOutputStream dos = new DataOutputStream(fos); dos.writeBytes("cd \\"); dos.writeBytes("\n"); dos.writeBytes("echo %path%"); dos.writeBytes("\n"); // execute the batch file Process p = Runtime.getRuntime().exec("cmd /c start sample.bat"); // wait for termination p.waitFor(); dos.close(); >catch (Exception ex) < >> > 

Now run the above class, you will see one command prompt opens with echoing all commands.

The «echo %path%» command will display the environment variables in the command line tool.

Источник

Nom’s Blogspot

I have a bachelor degree in Management and Information Technology.During my leisure, i love reading books and travelling around the world. )

Recent Posts

Recent Comments

Archives

Categories

Meta

How to create a Batch file(.bat) using a runnable jar file in java

Let’s say that you have created some java classes via Eclipse IDE.First choose one or more classes you want to run.

Right click on a class and choose export.

login-export

Then the following window will appear and choose “Runnable JAR file” menu item.

two

Click next and following window will appear.

three

Select the class you are going to export as a runnable jar under Launch configuration drop down.

Select “Package required libraries into generated JAR” under Library handling.

Click on the browse button in the Export destination drop down and select a location to save the jar file and at the same time give a name (ex:test) for the jar file too.

four

five

Then click on finish and if you go to the location where you selected in the above dialog boxes, the jar file will be there.(ex: test.jar)

Just double click on it and it will execute your program.

Also you can execute this via a batch file.Take a notepad and write down the code below and save it as .bat extension.

(test.jar is the name of the runnable jar file you created)

Then double click and run the batch file.It will also execute your program.

Источник

Оцените статью