java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.kernel.event.common.Event
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ApplicationRunningEvent, CheckApplicationRunEvent, ContractDomainModifiedEvent, ContractModifiedEvent, ContractObjectStatusChangedTopicEvent, ContractPasswordChangedEvent, ContractStatusChangedEvent, ContractStatusChangedTopicEvent, ContractTariffChangedEvent, ContractTariffOptionChangedEvent, CustomerChangedEvent, CustomerCreatedEvent, CustomerDeletedEvent, DebetStatusManageAfterOpen, DirectoryItemModifiedEvent, DirectoryModifiedEvent, DispatchEvent, EventScriptLinkDeletedEvent, EventScriptLinkModifiedEvent, GeoCodeUpdateEvent, InetReloadEvent, InetServModifiedEvent, InetServRestrictionModifiedEvent, IpResourceModifiedEvent, ModulesChangedEvent, NasListModifiedEvent, PluginConfigModifiedEvent, PoolEvent, ProductModifiedEvent, ProductModifiedEvent, ProductPeriodModifiedEvent, QueueEvent, ScriptFunctionModifiedEvent, ScriptUpdatedEvent, ServerStartEvent, ServiceLinkModifiedEvent, ServiceModifiedEvent, ServicesChangedEvent, TariffTreeModifiedEvent, TariffVarModifiedEvent, TimeTypesChangedEvent, TvAccountModifiedEvent, TvReloadEvent, VoiceAccountDeviceStateModifiedEvent, VoiceAccountModifiedEvent, VoiceCostMapUpdateEvent, VoiceDevicesReloadEvent, VoiceLogProcessedEvent, VoiceOperAccountModifiedEvent, VoiceSessionFinishDeviceEvent, VoiceZoneMapUpdateEvent, WebNotificationListReadEvent, WebNotificationListUpdateEvent, XslModifiedEvent

public abstract class Event extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger implements Serializable
Абстрактный супер класс для всех событий.
Publisher-Subscriber событие. Может доставляться нескольким слушателям в отличие от QueueEvent
Если слушатель был неактивен в момент отправки - он это событие не получит.

Каждый расширяющий класс должен иметь сгенерированный serialVersionUID для совместимости с перекомпилянной версией.
Также в каждом конечном классе события должна присутствовать аннотация XmlRootElement и пустой коструктор (protected).
Для простых полей (например, int long String и т.п.) желательно указывать аннотацию XmlAttribute. Для событий которых может быть сразу несколько (например, событие изменения баланса)
возможно стоит делать один объект-событие (также смотри PoolEvent).
See Also:
  • Field Details

  • Constructor Details

    • Event

      protected Event()
    • Event

      public Event(int moduleId, int pluginId, int contractId, int userId)
      Конструктор события плагина.
      Parameters:
      moduleId - NO_MODULE.
      pluginId - uid плагина.
      contractId - код договора, для глобальных событий должен быть = CONTRACT_GLOBAL.
      userId - код пользователя биллинга.
    • Event

      public Event(int moduleId, int contractId, int userId)
      Конструктор события ядра или модуля.
      Parameters:
      moduleId - 0 для ядра, либо код экземпляра модуля.
      contractId - код договора, для глобальных событий должен быть = -1.
      userId - код пользователя.
  • Method Details

    • prepareMessage

      public void prepareMessage(javax.jms.Message message) throws javax.jms.JMSException
      Throws:
      javax.jms.JMSException
    • getModuleId

      public int getModuleId()
      Код сгенерировашего событие модуля, 0 - ядро
      Returns:
      int
    • getContractId

      public int getContractId()
      Код договора с которым произошло событие. Для глобальных событий должен быть = -1 (CONTRACT_GLOBAL)
      Returns:
      int
    • getSuperContractId

      public int getSuperContractId()
      Код супер договора для зависимого субдоговора. В данный момент это поле постоянно равно -1 и нигде не используется.
      Returns:
    • getUserId

      public int getUserId()
      Код пользователя биллинга, сформировавшего событие.
      Returns:
      код пользователя биллинга
    • getTypeId

      @Deprecated public int getTypeId()
      Deprecated.
      Для поддержки совместимости со старыми событиями с данным методом, который могли использовать скрипты. Использовать проверку instanceof.
      Returns:
    • getGenerateTime

      @Deprecated public Calendar getGenerateTime()
      Deprecated.
      Время генерации события системой
      Returns:
      Calendar
    • getTime

      public Calendar getTime()
    • getTimestamp

      public long getTimestamp()
    • getPluginId

      public int getPluginId()
    • setMessageID

      public void setMessageID(String messageID)
    • getMessageID

      public String getMessageID()
    • getDestination

      public String getDestination(Class<?> clazz)
    • isLogFunctionProcess

      public boolean isLogFunctionProcess()
    • setLogFunctionProcess

      public void setLogFunctionProcess(boolean logFunctionProcess)
    • serializeAsObject

      protected boolean serializeAsObject()
    • getSource

      public String getSource()
    • setSource

      public void setSource(String source)
    • toString

      protected void toString(StringBuilder sb)
    • toString

      public String toString()
      Overrides:
      toString in class Object