Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / выгрузить телеграмбот / 25 сообщений из 34, страница 1 из 2
03.12.2019, 15:03
    #39897588
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
при редеплое варника телеграмбот остаётся в памяти как отдельный поток/приложение...
как его можно выгрузить, чтоб был только один экземпляр
...
Рейтинг: 0 / 0
03.12.2019, 15:10
    #39897592
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
Поставить сервер приложений, который без багов поддерживает redeploy

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

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

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

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

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

https://github.com/rubenlagus/TelegramBots
...
Рейтинг: 0 / 0
03.12.2019, 15:59
    #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
03.12.2019, 16:08
    #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
03.12.2019, 16:25
    #39897653
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
вадя

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

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

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

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

вадя

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

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

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

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

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

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

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

Вообще-то, там сорцы есть
Проблема решается 5-25 строчками кода, максимум
...
Рейтинг: 0 / 0
03.12.2019, 17:13
    #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
03.12.2019, 17:13
    #39897697
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
Leonid Kudryavtsev
Вообще-то, там сорцы есть
Проблема решается 5-25 строчками кода, максимум
давай, я за этим вопрос и задал
...
Рейтинг: 0 / 0
03.12.2019, 17:23
    #39897709
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
вадя
давай, я за этим вопрос и задал
код полный давай.
...
Рейтинг: 0 / 0
03.12.2019, 17:24
    #39897710
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
вадя
большого ума не надо, это когда одно приложение под кошаком работает и идёт отладка
именно. У тебя и есть не продакшен а отладка.
...
Рейтинг: 0 / 0
03.12.2019, 17:30
    #39897715
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
PetroNotC Sharp
именно. У тебя и есть не продакшен а отладка.
ага, вот только как быть с продакшеном? тоже таким же способом?
...
Рейтинг: 0 / 0
03.12.2019, 17:36
    #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
03.12.2019, 17:42
    #39897726
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
вадя
это полный код запуска
где расположен?
...
Рейтинг: 0 / 0
03.12.2019, 17:50
    #39897731
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузить телеграмбот
Leonid Kudryavtsev
забыл ник
По-хорошему да, надо катать баг на авторов телеграм апи.

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

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

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


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


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