IP Matika — служба поддержки. Мало мало смеялсО. (Yeastar S series)

Я конечно понимаю, что в службу поддержки на первую линию берут не самый продвинутых людей. Но не до такой же степени!

Я представляю, что ещё могут наконсультировать специалисты основного поставщика оборудования Yeastar в России.

Ну а сама проблема выглядит так:

З.Ы. Но! После того как вы пройдете этап общения с «первой линией», поддержка работает очень быстро и качественно. Буквально на следующий день к станции подключились разработчики системы и все исправили.

lxc, xfs и sguid bit

Забавно получилось. Оказывается если разворачивать контейнеры lxc на файловой системе xfs, внутри контейнера перестаёт работать SGID бит. Хорошо, что заметили на этапе тестирования.

MySQL и mariadb, строка подключения.

Нынче не все как вчера 🙂 MySQL не исключение.

На всякий случай оставлю тут, что бы каждый раз не искать по интернетам кошерные параметры подключения последних версий драйвера Connector/J.

jdbc:mysql://192.168.0.1/BaseName?zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Europe/Moscow&useSSL=false

Android и MySQL

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

Ан нет, не поддерживается в роботе работа JDBC.

DriverManager.getConnection

Вызывает эксцепшены, мол нет классов

java.sql

И все, гудбай друг.

Предлагают через WEB приложения данные из базы качать 🙁 Из-за такой ерунды придется в глассфише посредника писать 🙁

Эмуляторы из Android studio и AMD Ryzen 2400G процессор

Решил тут с андроидом побаловаться. Поставил Андроид студио на Win10 и… у меня отказались работать все входящие в комплект поставки эмуляторы.

Стал разбираться в проблеме. Из заголовка понятно, что у меня не Intel процессор 🙂 Я от них отказался, после того как все мои Intel машины начали дико тормозить после патчей с исправлением проблем безопасности данных устройств. Купил не дорогой комплект на AMD Ryzen 2400G. Производительность для разработки и администрирования отличная. На нем даже играть можно без особых проблем. Во всяком случае мой игровой ноутбук на i5 gforce 760 тихо скулит в стороне.

Понятно, что х86 эмуляторы, требующие драйвера от компании Intel, работать не будут. Так-как этот драйвер на AMD не устанавливается. Но и эмуляторы arm не заработали! Крутил, вертел, так и не запустились. Пришлось железный телефон подключать.

Вот так и живем со шнурком в компутере 🙁

Не получаю уведомления.

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

Поэтому заранее прошу прощение, если не отвечаю на вопросы в старых темах. Не я такой, блогспот такой 🙁

java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.

Описываю сущность. Код сгенерил сам NetBeans на основании таблицы базы данных.

@Id
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 100)
@Column(name = «login»)
private String login;

При каждом обращении к этой сущности ловлю:
Exception: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.NotNull

Если закомментирую описание  @NotNull, получаю:
Exception: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.Size

Оказывается, описание @Column дублирует эти описания и выдает исключение.
Теперь правильно писать так:

@Id
@Basic(optional = false)
@Column(name = «login», length = 100, nullable = false)
private String login;

Glassfish, я понял почему его не любят.

Я понял, почему не любят Glassfish.

Сначала я поставил версию 5. Локально работает отлично, удаленно не работает. Не возможно подключиться к админской консоли.

Времени разбираться не было. Забил на 5-ку, поставил 4-ку. Все работало до тех пор, пока не начал REST методы пилить. Оказывается встроенный XML парсер требует java определенной, старой (очень старой) версии.

Новая версия парсера, которую я подсунул глассфишу, отказывается работать с 4-кой 🙂

Забил на 4-ку, начал разбираться с 5-кой. Оказывается, для нормальной удаленной работы 5-ки требуется java 8 билд не более u152. Едрить твою через…

Пришлось качать нестабильную версию 5.0.1. Удаленное управление работает, парсер работает.

Но сколько на это было убито времени и нервов…

Это вот оно как Михалыч.

Поставил Jira в тестовом режиме. Для нормальной работы ей требует MySQL, с mariadb она не умеет. Поэтому поставил временно на встроенной базе.
Дал распробовать это чудо коллегам. Им понравилось. Решил переехать на MySQL. Скачал 8-ю версию. Импортировал базы своих приложений. Везде пришлось переписывать вызовы драйвера и параметры подключений. Но вобщем все мои приложения заработали.
Включаю jira, и… опа опа ла бузука. Нифига не работает. Как оказалось, ей требуется версия 5.6 максимум. Пипец. Полдня потерял на это…
Сделаю для жиры контейнер, буду гонять её оттуда.

GlassFish 5, standalone client

«Решил замахнуться на нашего Вильяма…» (с) Берегись автомобиля.

Появилось время на самокапание, решил попробовать сервер приложений GlassFish в связке с RMI клиентом на Java. Написал простейший ejb с методом sayHello.

@Stateless
public class MainSessionBean implements MainSessionBeanRemote {
    @Override
    public String sayHello() {
        return «Hello world!»;
    }
}

Ну и в клиенте, его вызов.

try {
            props.load(new FileInputStream(«jndi.properties»));
            InitialContext ctx = new InitialContext(props);
            MainSessionBeanRemote bean = 
               (MainSessionBeanRemote)ctx.lookup(
                «java:global/CorpServer/CorpServer-ejb/MainSessionBean»);
            System.out.println(bean.sayHello());
        } catch …

Если создавать клиент средствами самого NetBeans, то все работает. Но как только пытаюсь запустить приложение из командной строки, ничего не работает, не находит нужных библиотек.

В инете готового решения проблемы не нашел. После долгой боли и мучений выработал метод получения необходимых библиотек, для стандалон клиента.

  1. В glassfish ищем батник package-appclient и запускаем его. Он создаёт файл glassfish5/glassfish/lib/appclient.jar
  2. Из этого файла из директории modules извлекаем все файлы jar и копируем к себе в проект. Почему то, если использовать сам appclient.jar ничего не работает.
  3. Но там не хватает двух файлов. Их придется ручками скопировать из glassfish5/glassfish/modules. Файлы: bean-validator-cdi.jar и bean-validator.jar

Все, клиент коннектится, методы вызываются.