Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Ребята мне нужно сделать так, чтобы шедулер вызывал каждую секунду непрочитанные сообщения по айди. Точнее чтобы каждый пользователь который войдет в чат запоминал айди последнего сообщения, тем самым это поможет показать непрочитанные сообщения. Так вот я написал
getUnreadById
  @Query(value = "SELECT * FROM chatMessages WHERE id > :id", nativeQuery = true)
    List<Message> getUnreadById(@Param("id") long id);



И мне сказали его реализовать через шедулер (The @Scheduled Annotation in Spring) https://www.baeldung.com/spring-scheduled-tasks

Там написано в документации шедулера, Методы в шедулере не принимают параметры. Так вот я же хочу получается в "getUnreadById" передать айди но нельзя передать параметр. Как можно по другому реализовать, можете поделится верной идеей
14 янв 20, 08:58    [22058491]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1980
fallen2019
Ребята мне нужно сделать так, чтобы шедулер вызывал каждую секунду непрочитанные сообщения по айди. Точнее чтобы каждый пользователь который войдет в чат запоминал айди последнего сообщения, тем самым это поможет показать непрочитанные сообщения.

Сделай.
14 янв 20, 09:05    [22058496]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Nixic,

Проблема в том, что нельзя передавать параметры в scheduler. Как можно по другому сделать, чтобы getUnreadById вызывался каждую секунду в шедулере
14 янв 20, 09:08    [22058500]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1980
fallen2019
Nixic,
Проблема в том, что нельзя передавать параметры в scheduler. Как можно по другому сделать, чтобы getUnreadById вызывался каждую секунду в шедулере

Нужно написать метод, который будет "вызывался каждую секунду в шедулере", на джаве.
14 янв 20, 09:10    [22058502]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Nixic,

Он у меня уже есть
14 янв 20, 09:13    [22058506]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1980
fallen2019
Nixic,
Он у меня уже есть

Ну вот и все, Настя, тема закрыта, давай до свидания, молодец :)
14 янв 20, 09:15    [22058510]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Nixic,

Тебе бы в камеди клаб идти


Там написано в документации шедулера, Методы в шедулере не принимают параметры. Так вот я же хочу получается в "getUnreadById" передать айди но нельзя передать параметр. Как можно по другому реализовать
14 янв 20, 09:19    [22058514]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019,
Просто, если первый твой шедулер, то напиши без айди. И код сюда.
14 янв 20, 09:59    [22058543]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,
Вот мой первый шедулер который без айди и сказали он неправильный, мне нужно написать с айди.
   @Scheduled(fixedDelay = 1000)
    public void loadUnReadMessage(){
        if(messageList == null) return;
        List<Message> messages = restService.getUnRead();
        for(Message message : messages){
            messagesInfoManager.updateMessageUIInfo( new MessageInfo( messageList, message, this ) );
            message.setUnread( true );
            restService.saveMessage( message );
        }
    }
14 янв 20, 10:15    [22058551]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019,
Теперь заведи локальную переменную метода ID.
Которую потом будешь менять.
Заметь, что это должен был ты сам сделать с начала топика.
14 янв 20, 10:29    [22058564]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
gycb
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 326
Бедная настя-казашка)))
14 янв 20, 10:35    [22058567]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,
Можно написать по подробднее

Просто айди у меня пока что в виде параметра, а шедулер не поддерживает параметр к сожалению в документации так написано
14 янв 20, 10:38    [22058571]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019,
Не вижу ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ в твоем коде.
14 янв 20, 10:51    [22058587]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,

Извините за тупой вопрос, получается нужно создть локальную переменную ID?

https://github.com/fallen3019/vaadin-chat
14 янв 20, 10:58    [22058595]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,

у меня ужк переменная ID есть в Message

@Entity
@Table(name = "chatMessages")
public class Message {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private long id;
  private Timestamp time;
  private String fromV;
  private String messageV;
  private boolean unread;

  public Timestamp getTime() {
    return time;
  }

  public void setTime(Timestamp time) {
    this.time = time;
  }

  public Message() {
    this(null, null);
  }

  public Message(String from, String message) {
    this.fromV = from;
    this.messageV = message;
    unread = true;
    time = new Timestamp(System.currentTimeMillis());
  }

  public long getId() {
    return id;
  }

  public void setId(long id) {
    this.id = id;
  }

  public String getFrom() {
    return fromV;
  }

  public void setFrom(String from) {
    this.fromV = from;
  }

  public String getMessage() {
    return messageV;
  }

  public void setMessage(String message) {
    this.messageV = message;
  }

  public boolean isUnread() {
    return unread;
  }

  public void setUnread(boolean unread) {
    this.unread = unread;
  }

  @Override
  public String toString() {
    return "Message{" +
            "id=" + id +
            ", time=" + time +
            ", fromV='" + fromV + '\'' +
            ", messageV='" + messageV + '\'' +
            ", unread=" + unread +
            '}';
  }
}
14 янв 20, 10:59    [22058596]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019
PetroNotC Sharp,

Извините за тупой вопрос, получается нужно создть локальную переменную ID?

https://github.com/fallen3019/vaadin-chat

Ровно как сказали -
автор
мне нужно написать с айди.
14 янв 20, 11:04    [22058599]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,

Извините я чуток не понял, вы сказали что нужно создать локальную переменную, получается вот в классе Message переменная ID пойдет же?
14 янв 20, 11:20    [22058610]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019,
Мы сделаем проще)).
Реши свою задачу без шедулера. Его потом.
14 янв 20, 11:25    [22058619]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,

А все получилось) спасибо за отклик))
14 янв 20, 11:34    [22058628]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
fallen2019,
Решение сюда запости.
14 янв 20, 11:49    [22058640]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
Nixic
Member

Откуда: Perm
Сообщений: 1980
PetroNotC Sharp
fallen2019,
Решение сюда запости.

ему похрен на помощь другим, главное, что он уже получил денежку решив задачу чужими силами, сейчас новую задачку вам подкинет.
14 янв 20, 11:55    [22058649]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 3717
Nixic,
Да я не напрягался. Я ему код не писал.
Пусть пишет.
"ТС работает больше отвечающих" (с)
14 янв 20, 11:59    [22058653]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
PetroNotC Sharp,

Я вам скинул ссылку на гитхаб пока его не обновлял так как дорабатываю, как закончу последние две задачи сразу все закину, ожидайте
14 янв 20, 12:30    [22058689]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Nixic,

Я не фрилансер
14 янв 20, 12:31    [22058691]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос насчет передачи параметров  [new]
fallen2019
Member

Откуда:
Сообщений: 289
Nixic,

какие же все таки в этом форуме токсичные люди бывает, я не просил у вас написать код в этом вопросе, просто решил посоветоваться.
Мне никто код не писал в этом вопросе просто советовали
14 янв 20, 12:32    [22058692]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Java Ответить