Los sucesos recién creados pueden añadirse al catálogo de sucesos.
Por qué y cuándo se efectúa esta tarea
Después de crear una nueva definición de suceso y llenarla con
descripciones de propiedades y descripciones de elementos de datos ampliados, puede
añadirla al catálogo de sucesos. Una vez que la haya añadido al catálogo de sucesos,
una definición de suceso no puede modificarse, pero sí sustituirse.
Nota: Si la
seguridad de WebSphere está habilitada, el ID de usuario de la aplicación debe
correlacionarse con el rol catalogAdministrator para añadir las definiciones de
sucesos al catálogo de sucesos.
Pasos para realizar esta tarea
Para añadir una definición de suceso al catálogo de sucesos, utilice el
método addEventDefinition. boolean result = eventCatalog.addEventDefinition(definición, replace)
Los
parámetros de este método son los siguientes:
- definición
- La definición de suceso que desea añadir. Debe ser una instancia válida de EventDefinition.
- replace
- Valor booleano que indica si la definición de suceso especificada sustituye una
definición existente con el mismo nombre.
Si el parámetro replace es
false, el nombre de la definición de suceso especificada no debe
coincidir con el de ninguna definición de suceso existente en el catálogo. Si es
así, se emitirá una excepción EventDefinitionExistsException.
Si el parámetro
replace es true, la nueva definición de
suceso sustituye la definición de suceso existente con el mismo nombre que ya se
encuentra en el catálogo. Sin embargo, para conservar la jerarquía de herencia, la
nueva definición de suceso debe designar al mismo padre como definición de suceso
anterior; de lo contrario, se emitirá una excepción ParentNotValidException.
Resultado
El valor booleano devuelto indica si se ha sustituido una definición de
suceso existente. Tendrá el valor true sólo si replace es
igual a true y la nueva definición ha sustituido una definición de
suceso con el mismo nombre.
Cuando se añade una definición de suceso al
catálogo de sucesos, el catálogo de sucesos envía un suceso al servidor de sucesos
para notificar a los consumidores de sucesos que se ha producido este cambio. Consulte
Notificación de cambio.
Nota: Si intenta añadir
una definición de suceso que infringe las normas de herencia, se emitirá una
excepción InheritanceNotValidException y la definición de suceso no se añadirá al
catálogo. Esto puede suceder si una nueva definición de suceso altera la propiedad
heredada o las descripciones de elementos de datos ampliados de forma que no sean
válidas, o si sustituir una definición de suceso existente provoca que los
descendientes alteren las descripciones heredadas de tal forma que no sean válidas. Para
obtener más información, consulte
Herencia de catálogos de sucesos.