Monday, November 22, 2010

Oracle SOA Suite 11G, JmsAdapter and Sonic MQ Topics

Recently we were working with a customer who needed to integrate SOA Suite to Progress Sonic MQ and specifically topics that were hosted. The first step with Oracle is to edit the JmsAdapter.rar configuration (specifically weblogic-ra.xml) to point at Sonic MQ. Sonic

<connection-instance>
<jndi-name>eis/sonic/queue</jndi-name>
<connection-properties>
<properties>
<property>
<name>ConnectionFactoryLocation</name>
<value>MyCF</value>
</property>
<property>
<name>FactoryProperties</name>
<value>java.naming.factory.initial=com.sonicsw.jndi.mfcontext.MFContextFactory;java.naming.provider.url=tcp://sonicmq1:2506;com.sonicsw.jndi.mfcontext.domain=Domain1</value>
</property>
<property>
<name>AcknowledgeMode</name>
<value>AUTO_ACKNOWLEDGE</value>
</property>
<property>
<name>IsTopic</name>
<value>true</value>
</property>
<property>
<name>IsTransacted</name>
<value>false</value>
</property>
<property>
<name>Username</name>
<value></value>
</property>
<property>
<name>Password</name>
<value></value>
</property>
</properties>
</connection-properties>
</connection-instance>


Having integrated to Sonic Queue(s) in the past, we were running into an issue where the SOA Suite cluster was picking up the message for each node within the cluster and was unaware of initially how to solve this. A simple solution was identified and specifically it was within the jDeveloper JmsAdapter Wizard. The following image shows the "Durable Subscriber Id". By simply specifying a value here, the cluster is only allowed to consume one message from the topic.

2 comments:

Srinivas said...

Hi Chris,

We are looking for the same kind of integration for one of our customer. Please can you help us with an elaborate document or post if you have any regarding this kind of integration..
That would be really helpful for us.


Thanks.

nklamen said...

Do you have this working in a customer environment? Our customer si looking for the same