powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с планировщиком
7 сообщений из 7, страница 1 из 1
Работа с планировщиком
    #39916609
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, Я создал чат на ваадине и спринг буте. Так вот с шедулером проблема у меня, хотел написать шедулер который выводит каждую секунду hello, но как можно написать так чтобы он каждую секунду вызывал хелло, только было вот так
Вывод -
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
hello 1 - когда пройдет 1 секунда  
hello 2 - после двух секунд
hello 3 - после трех секунд
.
.
.
.
hello 45 - после 45 секунд
.
.
.
.
hello 100 - после 100 секунд



Кстати вывести это надо в чате, после того как авторизируюсь в нем и войду в диалоговое окно.


Вот мой код с шедулером, только как его связать с чатом
Код: 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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
public class MainView extends VerticalLayout {

    private final MessagesInfoManager messagesInfoManager;
    private final RestService restService;
    private String username;
    
    
  
     private int count=0;

    @Autowired
    public MainView(RestService restService) {
        this.messagesInfoManager = MessageConfigurator.getInstance().getChatMessagesInfoManager();
        addClassName("main-view");
        setSizeFull();
        setDefaultHorizontalComponentAlignment(Alignment.CENTER);

        H1 header = new H1("Vaadin Chat");
        header.getElement().getThemeList().add("dark");

        add(header);

        askUsername();
        this.restService = restService;
    }

    private void askUsername() {
        HorizontalLayout layout = new HorizontalLayout();
        TextField usernameField = new TextField();
        Button startButton = new Button("Start chat");

        layout.add(usernameField, startButton);

        startButton.addClickListener(click -> {
            username = usernameField.getValue();
            remove(layout);
            showChat(username);
        });

        add(layout);
    }

    private void showChat(String username) {
        MessageList messageList = new MessageList();

        List<Message> lasts = restService.getLast();
        for (Message message : lasts) {
            messageList.add(new Paragraph(message.getFrom() + ": " + message.getMessage()));
        }

        add(messageList, createInputLayout(username, messageList));
        expand(messageList);
    }

    private Component createInputLayout(String username, MessageList messageList) {
        HorizontalLayout layout = new HorizontalLayout();
        layout.setWidth("100%");

        TextField messageField = new TextField();
        messageField.addKeyDownListener(Key.ENTER, keyDownEvent -> sender(messageField, messageList));
        Button sendButton = new Button("Send");
        sendButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY);

        layout.add(messageField, sendButton);
        layout.expand(messageField);

        messageField.addFocusListener(event -> {
            for (Message message : messagesInfoManager.getMessagesByUI(getUI())) {
                if (!message.getFrom().equals(username)) {
                    message.setUnread(false);
                    this.restService.updateMessage(message.getId(), message);
                }
            }
        });

        sendButton.addClickListener(click -> sender(messageField, messageList));
        messageField.focus();

        return layout;
    }

    private void sender(TextField textField, MessageList messageList) {
        Message message = new Message(username, textField.getValue());
        message = restService.saveMessage(message);
        messagesInfoManager.updateMessageUIInfo(new MessageInfo(messageList, message, this));
        textField.clear();
        textField.focus();
    }
    

    
 


@Scheduled (fixedDelay = 1000)
public void test() {
    count++; 
    System.out.println("Hello"+count);
      
}
}

 




Примерно вот так должно быть по порядку, каждую секунду должен выводить hello
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916616
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen2019,


В компиляторе выводит, теперь надо в чате
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916748
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите Насте заработать, решите его проблему за него, ну пожаааалуйста.
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916751
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе же тут уже всё написали как делать, зачем повторяться-повторяться?
https://www.sql.ru/forum/1321227/kak-peremestit-kod-v-mainview
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916801
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nixic,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@Scheduled(fixedDelay = 1000)
    public void test() {
        count++;
        System.out.println("Hello" + count);

        this.getUI().get().access(() -> {

            if (messageList != null) {
                messageList.add(new Paragraph("From me" + ": " + "Hello" + count));
            }

        });

    }
}
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916802
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen2019,

Получилось )
...
Рейтинг: 0 / 0
Работа с планировщиком
    #39916803
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
анбиливибал!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с планировщиком
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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