Итак, у меня есть проект, и я работаю над отправкой уведомления веб-клиенту через stomp. В настоящее время у меня работает одно уведомление, и оно отправляет объект Встреча, чтобы уведомить человека, что кто-то назначил встречу. У меня есть несколько других случаев использования, когда я хочу разместить уведомление, но текущий способ отправки уведомлений не очень модульный.
В настоящее время мы отправляем уведомление следующим образом:
simp.convertAndSend("/topic/appt/" + appointment.getId(), appointment);
Я хочу изменить это так, чтобы мы отправили simp.convertAndSend("/topic/appt/" + notification.getDestinationId(), notification);
Я настроил объект Уведомления, который содержит тип уведомления и тело. Этот тип будет использоваться для определения ответов пользовательского интерфейса на стороне клиента для получения уведомлений. Клиент использует тело для отображения соответствующей информации.
Тело уведомления может быть одним из двух объектов: Назначение и Услуга. Как бы я сделал так, чтобыtificationBody объекта Notification был универсальным, чтобы иметь возможность хранить два вышеупомянутых объекта (и, возможно, другие)?
Извещение:
package com.scheduler.notifications;
import com.scheduler.objects.Appointment;
import com.scheduler.objects.Service;
public class Notification<T> {
private NotificationType notificationType;
private T notificationBody;
private String destinationId;
public Notification(NotificationType notificationType, T notificationBody, String destinationId) {
this.notificationType = notificationType;
this.notificationBody = notificationBody;
this.destinationId = destinationId;
}
public NotificationType getNotificationType() {
return notificationType;
}
public T getNotificationBody() {
return notificationBody;
}
public String getDestinationId() {
return destinationId;
}
}
Приведенный выше код действительно не работал, так как я получаю предупреждения компилятора, такие как Unchecked call to 'Notification(NotificationType, T)' as a member of raw type 'com.scheduler.notifications.Notification
. Как правильно это делать?