Monday, December 1, 2014

Oracle Service Bus enables you to monitor and collect run-time information required for system operations. This post explains the steps to use alerts in Oracle Service Bus. Alerts are used inside message flow to generate an alert and that alert we can see in OSB console. To generate an alert in message flow, we use alert activity and each alert activity is linked to alert destination.

When we use alerts in OSB, for each alert we need to define alert destination i.e. we need to define the destination of the alert.  In OSB in alert destination we can perform below two functions.
  • Send email
  • Send message to JMS queue/Topic

To create an alert destination, click on resources folder and choose “Alert Destination” from resource type drop down list.

OSB Add Alert Destination



Specify the alert destination name and click on add button as we send alert message to JMS queue.

Alert Destination Name


Take special care while specifying queue Endpoint URI.

Jms://host:port(,host:port)/FactoryJndiName/DestJndiName

FactoryJNDIName

It is JNDI name of Connection factory, if you are using default connection factory then this will be equal to “Weblogic.jms.XAConnectionFactory” and if you are using any custom connection factory then you have to mention connection factory JNDI name.

Let’s suppose you are using below connection factory for your queue.

Connection Factory Name- SampleCF
JNDI- jms/SampleCF
Then your FactoryJNDIName will be “jms.SampleCF”.

DestJndiName

It is JNDI name of JMS queue. We are following JMS queue.

JMS Queue- SampleQueue
JNDI – jms/SampleQueue
So our DestJndiName will be “jms.SampleQueue”.

JMS Alert Destination


Now your alert destination should look like below.

Final Alert Destination


You can also add email recipients if you want to send a notification in case of alert. For that you need to click on Add button.

Email Alert Destination


Mail Recipients field: In this field enter an e-mail recipient in the format: mailto:username@hostname
This is a required field.
You can specify multiple e-mail recipients by entering the user names and hostnames in a comma-separated list. For example,mailto:username@hostname [,username_1@hostname_1]...[,username_n@hostname_n]
Only the first mail recipient needs to be prefixed with the text "mailto:".

SMTP Server field: select the name of the SMTP Server for the outgoing e-mail. This field is not required if a mail session is selected in the next step.

Mail Session field: select an available mail session. This field is not required if an SMTP Server is selected in the previous step.

From Name field: Provide a sender's name for the alert notification. This field is optional.

From Address field: Provide a valid e-mail address. This field is required if a value for "From Name" field is specified.

Reply To Name field: Provide a name to which a reply may be addressed. This field is optional.

Reply To Address field: Provide an e-mail address to which a reply may be sent. This field is required if a value for "Reply To Name" field is specified.

Connection Timeout field: Enter the number of seconds a connection must wait for a response from the server before timing out. The default value is 0.

Request Encoding field: Enter a character set encoding value. The default encoding value is iso-8859-1.

Specify all these values and save your alert destination.

Now go to proxy service message flow and add an Alert activity to generate the alert. To add an alert activity, go to Reporting à Alert.

Add Alert Activity


Click on destination link and choose earlier created alert destination.

Choose Alert Destination


Click on expression and specify fault context variable since we have added this alert in error handler but you can pass any context variable in the alert as we send this fault message to alert destination.

Also choose the level of severity from drop down.

Choose Severity Level


These alerts you can see in OSB console and whatever action you choose in alert destination, that alert message will flow there.

Alert Destination



1 comments :

  1. Under Alerts, in JMS destinations, we have flexibility to add more than one JMS.
    Do the messages get duplicated to these JMS or this is order of preference?

    ReplyDelete