powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / telegram webhook
25 сообщений из 112, страница 2 из 5
telegram webhook
    #40018742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И выдели интересующий процесс поток красным
...
Рейтинг: 0 / 0
telegram webhook
    #40018747
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
конфликт между старым и новым grizzly-http-server серверами.

У меня было в Glassfish различие версий либы grizzly.
Проверь у себя и замени jar либы.
...
Рейтинг: 0 / 0
telegram webhook
    #40018753
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
скрин нужен. Не догадался что табуляцию не видно?
...
Рейтинг: 0 / 0
telegram webhook
    #40018756
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Теперь уточни.
- порт 8443 занят если погасить Новый чистый томкат?
...
Рейтинг: 0 / 0
telegram webhook
    #40018763
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Теперь уточни.
- порт 8443 занят если погасить Новый чистый томкат?
8443 занят именно гризли
если убрать запуск webhook - то он будет свободен
...
Рейтинг: 0 / 0
telegram webhook
    #40018765
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
если убрать запуск webhook - то он будет свободен
пиши запуск по шагам
...
Рейтинг: 0 / 0
telegram webhook
    #40018777
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class Filterq implements Filter{


  public void init(FilterConfig filterConfig) {        
        this.filterConfig = filterConfig;
        
        String ss=filterConfig.getServletContext().getRealPath("/")+"WEB-INF/";
   
       org.telegram.Main.main(ss);
 }

}


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class Main {

 try {
            ApiContextInitializer.init();
            
            wh = new WebHook_();

           TelegramBotsApi telegramBotsApi =  new TelegramBotsApi(
                    PATH_TO_CERTIFICATE_STORE,
                    CERTIFICATE_STORE_PASSWORD,
                    "https://xxx.ru:8443",
                    "https://xxx.ru:8443",
                    PATH_TO_CERTIFICATE_PUBLIC_KEY
            );

            telegramBotsApi.registerBot(wh);
           
        } catch (TelegramApiException ex) {
            ex.printStackTrace();
        }

}


вот и все связанное с запуском

ну и обработка от клиентов
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public class WebHook_ extends TelegramWebhookBot {

    @Override
    public BotApiMethod onWebhookUpdateReceived(Update update) {
        
        System.out.println("--- " + update.getMessage().getText());
       
        if (update.hasMessage() && update.getMessage().hasText()) {

            SendMessage sendMessage = new SendMessage();

            sendMessage.setChatId(update.getMessage().getChatId().toString());
            sendMessage.setText("Well, all information looks like noise until you break the code.");
            return sendMessage;
        }
        return null;
    }
}
...
Рейтинг: 0 / 0
telegram webhook
    #40018786
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
вот и все связанное с запуском
либу пропустил. Или на голом работает?
...
Рейтинг: 0 / 0
telegram webhook
    #40018790
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дай
lsof -i
...
Рейтинг: 0 / 0
telegram webhook
    #40018798
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
есть
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class Filterq implements Filter{


  public void init(FilterConfig filterConfig) {        
        this.filterConfig = filterConfig;
        
        String ss=filterConfig.getServletContext().getRealPath("/")+"WEB-INF/";
   
       org.telegram.Main.main(ss);
 }

}




А где doFilter() и destroy() ?
...
Рейтинг: 0 / 0
telegram webhook
    #40018803
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
всё что связано с java
540 ?

вадя
после tomcat stop
1799

Почему сменился PID процесса
...
Рейтинг: 0 / 0
telegram webhook
    #40018809
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
lsof -i

Код: plaintext
1.
2.
3.
4.
5.
java      4500       root   47u  IPv4  42901      0t0  TCP *:http-alt (LISTEN)
java      4500       root   52u  IPv4  42903      0t0  TCP localhost:8009 (LISTEN)
java      4500       root   65u  IPv4  42923      0t0  TCP localhost:8005 (LISTEN)
java      4500       root  114u  IPv4  42909      0t0  TCP xxxx.ru:8443 (LISTEN)
java      4500       root  131u  IPv4  42917      0t0  TCP xxxx.ru:48172->149.154.167.220:https (ESTABLISHED)



CIDR: 149.154.164.0/22
Название провайдера: Telegram Messenger Network
...
Рейтинг: 0 / 0
telegram webhook
    #40018810
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Почему сменился PID процесса
разные запуски
...
Рейтинг: 0 / 0
telegram webhook
    #40018811
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: java
1.
TelegramBotsApi telegramBotsApi =  new TelegramBotsApi(


Получается весь вопрос - сделать обратное действие для new.
Если на этой строке вешается на порт что либо.
Так?
Стопить томкат это как бы радикальный метод.
...
Рейтинг: 0 / 0
telegram webhook
    #40018814
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
А где doFilter() и destroy() ?


там пока всё что ide вставляет автоматом - в тестовой версии те используется

Код: java
1.
2.
3.
  @Override
    public void destroy() {        
    }



Код: 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.
30.
31.
32.
33.
34.
35.
36.
@Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {
        
        if (debug) {
            log("Filter:doFilter()");
        }
        
        doBeforeProcessing(request, response);
        
        Throwable problem = null;
        try {
            chain.doFilter(request, response);
        } catch (IOException | ServletException t) {
            // If an exception is thrown somewhere down the filter chain,
            // we still want to execute our after processing, and then
            // rethrow the problem after that.
            problem = t;
            t.printStackTrace();
        }
        
        doAfterProcessing(request, response);

        // If there was a problem, we want to rethrow it if it is
        // a known type, otherwise log it.
        if (problem != null) {
            if (problem instanceof ServletException) {
                throw (ServletException) problem;
            }
            if (problem instanceof IOException) {
                throw (IOException) problem;
            }
            sendProcessingError(problem, response);
        }
    }
...
Рейтинг: 0 / 0
telegram webhook
    #40018819
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Alexander A. Sak
А где doFilter() и destroy() ?


там пока всё что ide вставляет автоматом - в тестовой версии те используется

Код: java
1.
2.
3.
  @Override
    public void destroy() {        
    }




То есть при инициализации фильтра запускаем бота, а при завершении работы фильтра бота не останавливаем.
...
Рейтинг: 0 / 0
telegram webhook
    #40018822
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Получается весь вопрос - сделать обратное действие для new.
Если на этой строке вешается на порт что либо.
Так?
да

PetroNotC Sharp
Стопить томкат это как бы радикальный метод.
конечно,
но томкат стопится пока только для индикации , что что-то осталось висеть.

проблема в том что этот висяк мешает при деплое новой версии, процесс отладки...
приходится делать killall java
что в продакшене не камильфо
...
Рейтинг: 0 / 0
telegram webhook
    #40018823
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
То есть при инициализации фильтра запускаем бота, а при завершении работы фильтра бота не останавливаем.

в этом то и проблема как его остановить...

я пробовал много вариантов (методом научного тыка)
даже после
Код: java
1.
2.
3.
 );

            telegramBotsApi.registerBot(wh);


единственно что удавалось - остановить бота на стороне telegram
...
Рейтинг: 0 / 0
telegram webhook
    #40018841
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джавадоки хотя бы есть к этой библиотеке? Вот это оно: https://github.com/rubenlagus/TelegramBots ?
...
Рейтинг: 0 / 0
telegram webhook
    #40018847
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще все это мазохизмом каким-то отдает. Зачем какие-то гризли, либы, кони, люди? Один раз регистрируешь свой эндпойнт ( https://core.telegram.org/bots/api#setwebhook) и обрабатываешь входящие запросы.
...
Рейтинг: 0 / 0
telegram webhook
    #40018870
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
Джавадоки хотя бы есть к этой библиотеке? Вот это оно: https://github.com/rubenlagus/TelegramBots ?
смотрел это
но там вообще нет ничего про использовании webhook с сертификатами (тем более самоподписанными)
такое впечатление что у людей наличие класса implements WebhookBot означает что они его и используют. там стоит версия 5+, а примеры с версией 4.9.+

Alexander A. Sak
Один раз регистрируешь свой эндпойнт ( https://core.telegram.org/bots/api#setwebhook) и обрабатываешь входящие запросы.
т.е. создавать с нуля? как бы не плохо, но еслиб это использовалось в локалке - можно было б.
но в инет светить...
...
Рейтинг: 0 / 0
telegram webhook
    #40018893
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
там стоит версия 5+, а примеры с версией 4.9.+
тебе нужно сделать любую рабочую версию. Демку.
Вопрос свелся к поиску демки.
...
Рейтинг: 0 / 0
telegram webhook
    #40018902
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Alexander A. Sak
Один раз регистрируешь свой эндпойнт ( https://core.telegram.org/bots/api#setwebhook) и обрабатываешь входящие запросы.
т.е. создавать с нуля? как бы не плохо, но еслиб это использовалось в локалке - можно было б.
но в инет светить...

Не понял. Вебхук - это по определению "в инет светить". Ты говоришь URL, на который сторонний сервер тебе выполняет запросы при возникновении событий. Просто ты выбрал вариант, когда этот URL боту сообщает какая-то прослойка.

Судя по коду из https://github.com/rubenlagus/TelegramBots метод registerBot() возвращает объект BotSession, у которого есть метод stop().
Вполне возможно, он делает что надо. Но я все равно считаю лишняя прослойка для общения с Телеграмом лишняя.
...
Рейтинг: 0 / 0
telegram webhook
    #40018908
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Вопрос свелся к поиску демки.
уже потратил кучу времени на поиск
вот что использую это моя демка
выложить для пробы - там и сертификаты от letsencrypt , и параметры бота - мало вероятно что кто-то будет это поднимать у себя

ну вот при остановке кошки выдает
Код: plaintext
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.
30.
31.
32.
A16-Nov-2020 17:20:36.877 INFO [main] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.
16-Nov-2020 17:20:36.878 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
16-Nov-2020 17:20:36.884 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-127.0.0.1-8009"]
16-Nov-2020 17:20:36.890 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
16-Nov-2020 17:20:36.900 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bota] appears to have started a thread named [HttpServer-0] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.base@14.0.2/java.lang.Object.wait(Native Method)
 org.glassfish.grizzly.utils.DelayedExecutor$DelayedRunnable.run(DelayedExecutor.java:148)
 java.base@14.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
 java.base@14.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
 java.base@14.0.2/java.lang.Thread.run(Thread.java:832)
16-Nov-2020 17:20:36.902 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bota] appears to have started a thread named [grizzly-nio-kernel(1) SelectorRunner] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.base@14.0.2/sun.nio.ch.EPoll.wait(Native Method)
 java.base@14.0.2/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)
 java.base@14.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
 java.base@14.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
 org.glassfish.grizzly.nio.DefaultSelectorHandler.select(DefaultSelectorHandler.java:88)
 org.glassfish.grizzly.nio.SelectorRunner.doSelect(SelectorRunner.java:308)
 org.glassfish.grizzly.nio.SelectorRunner.run(SelectorRunner.java:248)
 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
 java.base@14.0.2/java.lang.Thread.run(Thread.java:832)
16-Nov-2020 17:20:36.902 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bota] appears to have started a thread named [grizzly-nio-kernel(2) SelectorRunner] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.base@14.0.2/sun.nio.ch.EPoll.wait(Native Method)
 java.base@14.0.2/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)
 java.base@14.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
 java.base@14.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141)
 org.glassfish.grizzly.nio.DefaultSelectorHandler.select(DefaultSelectorHandler.java:88)
 org.glassfish.grizzly.nio.SelectorRunner.doSelect(SelectorRunner.java:308)
 org.glassfish.grizzly.nio.SelectorRunner.run(SelectorRunner.java:248)
 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
 java.base@14.0.2/java.lang.Thread.run(Thread.java:832)
...
Рейтинг: 0 / 0
telegram webhook
    #40018917
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
Судя по коду из https://github.com/rubenlagus/TelegramBots метод registerBot() возвращает объект BotSession, у которого есть метод stop().
да так и работает
ечли использовать вариант TelegramLongPollingBot
https://github.com/rubenlagus/TelegramBots/blob/master/telegrambots/src/main/java/org/telegram/telegrambots/bots/TelegramLongPollingBot.java
но это метод когда свой сервер дёргает сервер telegram
но этот вариант стопится долго... секунд 20 , если не больше
Alexander A. Sak
Но я все равно считаю лишняя прослойка для общения с Телеграмом лишняя.
возможно, но это надо изучать все протоколы общения телеграм
...
Рейтинг: 0 / 0
25 сообщений из 112, страница 2 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / telegram webhook
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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