powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / выгрузить телеграмбот
25 сообщений из 34, страница 1 из 2
выгрузить телеграмбот
    #39897588
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при редеплое варника телеграмбот остаётся в памяти как отдельный поток/приложение...
как его можно выгрузить, чтоб был только один экземпляр
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897592
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить сервер приложений, который без багов поддерживает redeploy

Написать сервис реквест в поддержку сервера приложений. Если он купленный - служба саппорта должна дать какой-то ответ и что-то посоветовать.
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897595
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не ясна, не понятно как связаны варник редеплой и какой-то телеграмбот.
Классическое решение закрытия потока - это постоянный опрос на флаг\ивент\состояние БД. Если триггер срабатывает - поток завершаем. Как это реализовать по огрызку я хз. Что не получается?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897596
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще, предлагаю модераторм закрыть данный топик.

1. Сервер приложений - не указан
2. что за "телеграм бот" - тоже
3. кода нет

Сферичность коня в вакууме зашкаливает. С учетом того, что Вадя не первый день на форуме - закрыть тему нафиг. Брать пример с подфорума "вакансии". IMHO & AFAIK

Правила_форума Рекомендации
Не рекомендуется:

Публиковать сообщения с бессмысленными темами. Например: <Люди помогите>, <Проблема!!>, <Срочно нужна помощь!>, <может знаете?> и т.д.
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897599
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Действительно. Ты всем крышу снес телеграмботом. Он причем?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897622
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор. Вот этот имеется в виду?

https://github.com/rubenlagus/TelegramBots
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897630
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть tomcat
есть варник
в варнике запускается талеграмм-бот
всё работает нормально.
Leonid Kudryavtsev
что за "телеграм бот" - тоже
ты не знаешь что такое телеграммбот?

Leonid Kudryavtsev
3. кода нет
вот код запуска бота
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        ApiContextInitializer.init();
        DefaultBotOptions botOptions = ApiContext.getInstance(DefaultBotOptions.class);
        botOptions.setProxyHost("127.0.0.1");
        botOptions.setProxyPort(9050);
        botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);
        bot = new Bott(botOptions);
        try {
            telegramBotsApi.registerBot(bot);
        } catch (TelegramApiException e) {
           e.printStackTrace();
        }
        


PetroNotC Sharp
Ты всем крышу снес телеграмботом. Он причем?
при том что мне надо его выгрузить из памяти. потому как при деплое обновлённого варника пишет что порт уже используется и приходится убивать процесс java
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897637
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/test]
03-Dec-2019 18:01:39.022 WARNING [Catalina-utility-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [test] appears to have 
started a thread named [Bob1 Telegram Connection] but has failed to stop it. This is very likely to create a memory
 leak. Stack trace of thread:
 java.base@14-ea/sun.nio.ch.Net.poll(Native Method)
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897653
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

ты не знаешь что такое телеграммбот?

Почему я должен знать, что это такое?

Что такое телеграм, я знаю из новостей благодаря РосПотребНадзору, но сам его в глаза не видел. Нафиг он вообще нужен и его API ?

Погуглил (т.к. вы даже на прямой намек, не подумали дать url на сее чудо)
https://github.com/rubenlagus/TelegramBots
TelegramBotsJava library to create bots

вадя

при редеплое варника...

Обратиться к автору WAR'ника

ПОВТОРЯЮ СВОЕ МНЕНИЕ:
Тему нужно закрывать. По сообщениям от автора темы:
1. Развоение личности детектед - У нас же спрашивает, почему его приложение не редеплоится
2. Мения величия детектед - Т.к. считает, что он написал Телеграмбот, который все должны знать. Сюжу по вопросы "вы не знаете, что такое [мною написанный] телеграмбот" ?

p.s.
причину проблемы я знаю, т.к. она совершенно понятна и банально. Но тут "У нас есть ТАКИЕ приборы! Но мы вам о них не расскажем" ( С )

[сдесь должна была быть ссылка на клип Манго-Манго Аквалангисты, но я его не нашел]
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897671
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Тему нужно закрывать. По сообщениям от автора темы:
если ты не знаешь что такое телегамбот - какого хера лезешь?
нахватался манер с SO и хабра?
Leonid Kudryavtsev
Погуглил (т.к. вы даже на прямой намек, не подумали дать url на сее чудо)
https://github.com/rubenlagus/TelegramBots
ты чё? думаешь я не читал ничего прежде чем написать работающего бота?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897676
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
если ты не знаешь что такое телегамбот - какого хера лезешь?
его тут никто не знает и он никому не нужен.
Какая разница, какая программа порт держит?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897679
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-хорошему да, надо катать баг на авторов телеграм апи.
По-быстрому - можно самому решить проблему. Либо молотком и кувалдой - принудительно найдя и стопнув поток, либо воспользовавшись либой - https://java.jiderhamn.se/2012/03/04/classloader-leaks-vi-this-means-war-leak-prevention-library/.
У него есть серия статей по мемори ликам из 6 частей, советую почитать
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897682
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Узнать id процесса на порту. Грохнуть процесс.
Так?
Не догадался?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897688
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
По-хорошему да, надо катать баг на авторов телеграм апи.

Полностью ошибаетесь. Это не может быть баг ПО ОПРЕДЕЛЕНИЮ

Баг - это ошибка в программе, программном коде. Но для этого этот програмный код должен существовать. Не может быть багом то. чего вообще нет. Максимум - фича реквест.
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897690
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Вообще-то, там сорцы есть
Проблема решается 5-25 строчками кода, максимум
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897695
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Узнать id процесса на порту. Грохнуть процесс.
Так?
Не догадался?
ну написать
killall java
большого ума не надо, это когда одно приложение под кошаком работает и идёт отладка
PetroNotC Sharp
его тут никто не знает и он никому не нужен.
Какая разница, какая программа порт держит?
ну дак зачем наезжать?
забыл ник
По-хорошему да, надо катать баг на авторов телеграм апи.
По-быстрому - можно самому решить проблему. Либо молотком и кувалдой - принудительно найдя и стопнув поток, либо воспользовавшись либой - https://java.jiderhamn.se/2012/03/04/classloader-leaks-vi-this-means-war-leak-prevention-library/.
У него есть серия статей по мемори ликам из 6 частей, советую почитать
как всё сложно... оказывается...
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897697
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Вообще-то, там сорцы есть
Проблема решается 5-25 строчками кода, максимум
давай, я за этим вопрос и задал
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897709
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
давай, я за этим вопрос и задал
код полный давай.
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897710
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
большого ума не надо, это когда одно приложение под кошаком работает и идёт отладка
именно. У тебя и есть не продакшен а отладка.
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897715
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
именно. У тебя и есть не продакшен а отладка.
ага, вот только как быть с продакшеном? тоже таким же способом?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897721
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
код полный давай.
это полный код запуска

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        ApiContextInitializer.init();
        DefaultBotOptions botOptions = ApiContext.getInstance(DefaultBotOptions.class);
        botOptions.setProxyHost("127.0.0.1");
        botOptions.setProxyPort(9050);
        botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);
        bot = new Bott(botOptions);
        try {
            telegramBotsApi.registerBot(bot);
        } catch (TelegramApiException e) {
           e.printStackTrace();
        }



вот подключение
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class Bott extends TelegramLongPollingBot {

    public static final String CONFIGURATION_BOT_FILE = Singleton.getWeb_location() +  "/config/bot_config.properties";
    public static String ChatId = "";
    public static String ChatId = "";
    public static String BOT_NAME;
    public static String BOT_TOKEN;

    public Bott(DefaultBotOptions options) {
        super(options);
        Properties botSettings = new Properties();

        try (InputStream is = new FileInputStream(new File(CONFIGURATION_BOT_FILE))) {
            botSettings.load(is);
            BOT_NAME = botSettings.getProperty("BotName");
            BOT_TOKEN = botSettings.getProperty("BotToken");

            System.out.println("BOT_NAME  " + BOT_NAME);
            System.out.println("BOT_TOKEN  " + BOT_TOKEN);

        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
....

}
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897726
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
это полный код запуска
где расположен?
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897731
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
забыл ник
По-хорошему да, надо катать баг на авторов телеграм апи.

Полностью ошибаетесь. Это не может быть баг ПО ОПРЕДЕЛЕНИЮ

Баг - это ошибка в программе, программном коде. Но для этого этот програмный код должен существовать. Не может быть багом то. чего вообще нет. Максимум - фича реквест.

Может ошибаюсь, а может и нет. Если дело на самом деле в том, что при
Код: java
1.
2.
ApiContextInitializer.init();
        DefaultBotOptions botOptions = ApiContext.getInstance(DefaultBotOptions.class);


Этот бот меняет какое-нибудь проперти статического класса, тем самым создавая стронг ссылку на себя и препятствую GC собрать класслоадеру - то это абсолютно точно баг, который должен быть пофикшен, я не скажу что он major или critical но точно баг
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897746
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
где расположен?
в синглтоне (запуск)
...
Рейтинг: 0 / 0
выгрузить телеграмбот
    #39897750
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
синглтоне
зло
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / выгрузить телеграмбот
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]