Как стать автором
Обновить
-5
0
Валерий Лиховских @vl65

Программист, Архитектор, Руководитель проекта

Отправить сообщение

Форматирование милли/микро/нано секунд в java.sql.Timestamp

Время на прочтение4 мин
Количество просмотров2.5K

В JVM 1.8 отсутствует удобный и простой в использовании класс форматирования класса java.sql.Timestamp с микро и нано секундами. Есть специализированный пакет java.time с достаточно разнообразной функциональностью. Но его использование для преобразования типа java.sql.Timestamp в строку и из строки в тип выглядит как то сложновато. Хотелось иметь простой способ преобразования с функциональностью класса java.text.SimpleDateFormat.

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

Хочешь, не хочешь, но надо все же писать полностью свой класс, но писать то все с нуля не хочется. И тут мне в голову пришла идея, раз нельзя наследоваться от класса java.text.SimpleDateFormat, но использовать то его можно же. Идея реализации простая, форматировать и разбирать милли/микро/нано секунды отдельно. Сказано, сделано.

Читать далее
Всего голосов 7: ↑1 и ↓6-5
Комментарии22

Пример реализации универсального REST сервиса (Avalanche — application framework for Java)

Время на прочтение6 мин
Количество просмотров11K

Пример реализации универсального REST сервиса (Avalanche — application framework for Java)


"Avalanche — application framework for Java" — реализация технологии стирающей различия
между вызовами локального и удаленного кода. Отказоустойчивость, масштабируемость,
модифицируемость, непрерывная доступность идут в комплекте приятными бонусами.


В статье описан пример реализации универсального REST сервиса. В основу идеи реализации сервиса положено утверждение, что FrontEnd в каждый момент времени "знает", какими данными он манипулирует и что собирается запросить у BackEnd-а. Это утверждение позволило отказаться от разработки ORM в BackEnd-е и использования JPA при реализации универсального сервиса. Сервис способен манипулировать содержимым любой таблицы БД. Изменения структуры или созданные объекты БД сразу становятся доступны методам сервиса.


В сервисе реализованы методы трех групп:


  • .../data/table/… — манипулирования содержимым таблиц БД;
  • .../data/query/… — выполнение произвольных запросов, расширяющих функциональность сервиса;
  • .../data/info/… — получения информации о структуре объектов БД.

В сервисе реализована система ошибок, которая однозначно позволяет понять причину и место возникновении ошибки. По умолчанию, поддерживается локализация сообщений ru и en. Не все сообщения могут быть локализованы, например сообщения ошибок выполнения SQL запросов, которые зависят от локализации среды выполнения.


Сервис поддерживает работу с данными в форматах XML и JSON.


Сервис реализован с использованием библиотеки Jersey 2.0.

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии235

Модель приложения (Avalanche — application framework for Java)

Время на прочтение4 мин
Количество просмотров2.2K

Модель приложения (Avalanche — application framework for Java)


«Avalanche — application framework for Java» — реализация технологии стирающей различия
между вызовами локального и удаленного кода. Отказоустойчивость, масштабируемость,
модифицируемость, непрерывная доступность идут в комплекте приятными бонусами.


Рассмотренная в этой статье модель приложения родилась на основании собственного опыта реализации и эксплуатации различных интеграционных взаимодействий информационных систем (ИС) и прежде всего была направлена на сокращение использования различных ресурсов (финансовых, трудовых, временных и т.д.) при реализации этих интеграционных решений.

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

Потребность интеграции возникает не только в специальном программном обеспечении собственной или заказной разработки, но и в «коробочных» решениях. Стоимость реализации может превосходить ожидаемое сокращение эксплуатационных издержек.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии25

Первое приложение (Avalanche — application framework for Java)

Время на прочтение14 мин
Количество просмотров3.8K

Первое приложение (Avalanche — application framework for Java)


"Avalanche — application framework for Java" — реализация технологии стирающей различия между
вызовами локального и удаленного кода. Отказоустойчивость, масштабируемость,
модифицируемость, непрерывная доступность идут в комплекте приятными бонусами.


Все языки программирования предлагают для начала написать простую программу вывода
сообщения "Hello world". Этот пример не подходит для демонстрации функциональных
возможностей "Avalanche — application framework for Java", так как вызов этого примера всегда
возвращает одну и ту же строку и не позволяет идентифицировать источник, возвративший этот
результат.


Для первого приложения потребуется реализовать два класса (функцию и приложение), один
интерфейс (адаптер функции) и одну JSP страницу для отображения результата. Разработанное
приложение будет выполняться под управлением Tomcat.


Реализация класса функции — DemoFunction


В классе реализации функции нет ничего особенного, это обычный класс Java. В качестве
класса функции может быть использован любой класс. Пусть демонстрационный класс функции
возвращает следующую информацию из операционной системы: PID процесса и имя сервера;
версия операционной системы; название операционной системы.

Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии333

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Зарегистрирован
Активность