Advertisements



SOA 12c – EDN – Mapping to Custom Topic with Weblogic JMS

EDN documentation says:

You can create additional JMS topics (Oracle WebLogic Server JMS or AQ JMS) and map different event types to these additional JMS topics in Oracle Enterprise Manager Fusion Middleware Control.

In this post, we will see how to do this mapping of Business Event to Custom Topic.

This involves 2 steps:

  • Create a new Topic.
  • Modify the business event mapping in EM.

Creating a new Topic

Navigate to Services –> Messaging –> JMS Modules –> SoaJMSModule in Weblogic Administration console.

topicnew1

topicnew2

topicnew3

topicnew4

Modifying Business Event mapping

Navigate to SOA –> soa-infra –> SOA Infrastructure –> Business Events in EM and click JMS Mapping as shown below.

events

Modify JMS Topic Name with the custom topic created earlier. Typically, you don’t have to create new Connection Factories so retain them.

eventmapping

Click Apply and observe that JMS Mapping is shown as Modified.

events1

[2014-12-25T15:03:03.752+05:30] [soa_server1] [TRACE] [] [oracle.integration.platform.blocks.event.jms2.EdnBus12c] [tid: [ACTIVE].ExecuteThread: ‘9’ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: <anonymous>] [ecid: 364f79e6-6c77-415c-98e1-bb2219593f84-000005b4,0:2] [APP: soa-infra] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: RaiseEvent_ep] [WEBSERVICE_PORT.name: execute_pt] [oracle.soa.tracking.FlowId: 20004] [oracle.soa.tracking.InstanceId: 20012] [oracle.soa.tracking.SCAEntityId: 11] [composite_name: EDNConsistencyCheck] [FlowId: 0000Ke0mhDn3z0WjLxyGOA1Kax2t000004] [SRC_CLASS: oracle.tip.adapter.fw.log.LogManagerImpl] [SRC_METHOD: log] eis/wls/EDNxaTopic EdnBus12c file://wsdl/eis/wls/EDNxaDurableTopic-OUTBOUND.wsdl [ eis/wls/EDNxaDurableTopic-OUTBOUND::enqueue(part,part) ] – Starting JCA LocalTransaction
[2014-12-25T15:03:03.753+05:30] [soa_server1] [TRACE] [] [oracle.integration.platform.blocks.event.jms2.EdnBus12c] [tid: [ACTIVE].ExecuteThread: ‘9’ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: <anonymous>] [ecid: 364f79e6-6c77-415c-98e1-bb2219593f84-000005b4,0:2] [APP: soa-infra] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: RaiseEvent_ep] [WEBSERVICE_PORT.name: execute_pt] [oracle.soa.tracking.FlowId: 20004] [oracle.soa.tracking.InstanceId: 20012] [oracle.soa.tracking.SCAEntityId: 11] [composite_name: EDNConsistencyCheck] [FlowId: 0000Ke0mhDn3z0WjLxyGOA1Kax2t000004] [SRC_CLASS: oracle.tip.adapter.fw.log.LogManagerImpl] [SRC_METHOD: log] eis/wls/EDNxaTopic EdnBus12c file://wsdl/eis/wls/EDNxaDurableTopic-OUTBOUND.wsdl [ eis/wls/EDNxaDurableTopic-OUTBOUND::enqueue(part,part) ] – Invoking JCA Outbound Interaction
[2014-12-25T15:03:03.757+05:30]
[soa_server1] [NOTIFICATION] [] [oracle.soa.adapter.jms.outbound] [tid: [ACTIVE].ExecuteThread: ‘9’ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: <anonymous>] [ecid: 364f79e6-6c77-415c-98e1-bb2219593f84-000005b4,0:2] [APP: soa-infra] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: RaiseEvent_ep] [WEBSERVICE_PORT.name: execute_pt] [oracle.soa.tracking.FlowId: 20004] [oracle.soa.tracking.InstanceId: 20012] [oracle.soa.tracking.SCAEntityId: 11] [composite_name: EDNConsistencyCheck] [FlowId: 0000Ke0mhDn3z0WjLxyGOA1Kax2t000004] JMSMessageProducer_produce: Successfully produced message with ID ID:<703459.1419499983756.0> to destination jms/fabric/EDNCustomTopic
[2014-12-25T15:03:03.758+05:30]
[soa_server1] [TRACE] [] [oracle.integration.platform.blocks.event.jms2.EdnBus12c] [tid: [ACTIVE].ExecuteThread: ‘9’ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: <anonymous>] [ecid: 364f79e6-6c77-415c-98e1-bb2219593f84-000005b4,0:2] [APP: soa-infra] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: RaiseEvent_ep] [WEBSERVICE_PORT.name: execute_pt] [oracle.soa.tracking.FlowId: 20004] [oracle.soa.tracking.InstanceId: 20012] [oracle.soa.tracking.SCAEntityId: 11] [composite_name: EDNConsistencyCheck] [FlowId: 0000Ke0mhDn3z0WjLxyGOA1Kax2t000004] [SRC_CLASS: oracle.tip.adapter.fw.log.LogManagerImpl] [SRC_METHOD: log] eis/wls/EDNxaTopic EdnBus12c file://wsdl/eis/wls/EDNxaDurableTopic-OUTBOUND.wsdl [ eis/wls/EDNxaDurableTopic-OUTBOUND::enqueue(part,part) ] – Committing JCA LocalTransaction
[2014-12-25T15:03:03.760+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.mediator.serviceEngine] [tid: [ACTIVE].ExecuteThread: ‘9’ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: <anonymous>] [ecid: 364f79e6-6c77-415c-98e1-bb2219593f84-000005b4,0:2] [APP: soa-infra] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: RaiseEvent_ep] [WEBSERVICE_PORT.name: execute_pt] [oracle.soa.tracking.FlowId: 20004] [oracle.soa.tracking.InstanceId: 20012] [oracle.soa.tracking.SCAEntityId: 11] [composite_name: EDNConsistencyCheck] [FlowId: 0000Ke0mhDn3z0WjLxyGOA1Kax2t000004] Publishing Event= UpdateOrder ns 
http://xmlns.oracle.com/events/edl/OrderCreation successful

In above log, you can clearly observe that Business Event is published in our topic jms/fabric/EDNCustomTopic and default connection factory is used. You can refer to my previous post on how to generate this EDN log, if required.

Observations

  • I had to set Quota as shown below to make this work. Initially it was set to None.

quota

  • Typically, we have to restart the affected composites after modifying the Business Event JMS mapping. And might also require SOA server restart sometimes at least when there are Durable subscribers for that event.
  • When JMS mapping is modified for event for which Durable Subscribers exist, these are recreated for new topic and older ones are made just inactive.

ds

ds1

  • To revert JMS mapping for a Business Event, just click on Use Default JMS Topic as shown below and you have to restart affected composite, of course.

default

After this, you can also observe that JMS mapping is shown as Default.

default1

  • The Default JMS mapping and modified JMS mapping can also be found in MBean browser as shown below. You can navigate to here by selecting <<domain>> –> System MBean Browser –> Application Defined MBeans –> oracle.as.soainfra.config –> EDNConfig –> edn.

defaultevmapping

jmsmapping

Advertisements

3 Responses to “SOA 12c – EDN – Mapping to Custom Topic with Weblogic JMS”


  1. 1 victorjabur August 10, 2017 at 11:46 AM

    Hello Siva. Your series of posts involving EDN is simply fantastic. I have a question which will help me to take the decision whether to use EDN or not. What are the advantages to use EDN instead of default JMS Topics with traditional publisher and subscribers in Osb and Soa? You will help me a lot by answering it … See you guy, keep doing this awesome job.


  1. 1 SOA 12c – EDN Articles by Silva | SOA Community Blog Trackback on June 5, 2015 at 11:01 AM
  2. 2 SOA 12c – EDN Articles | Siva's Blog Trackback on January 5, 2015 at 10:57 PM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Advertisements

Pages

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 349 other followers

Enter your email address to follow this blog and receive notifications of new posts by email.