The JMS Adapter with Distributed Queues and Distributed Topics

8-56 Oracle Fusion Middleware Users Guide for Technology Adapters connection instance in the weblogic-ra.xml file. An example usage a snippet of connection instance from a weblogic-ra.xml file for a local cluster is shown below; nameFactoryPropertiesname valueClientID=SOAClient2;TopicMessageDistributionAll=truevalue property In addition, you need to specify the message selector NOT JMS_WL_ DDForwarded when defining an activation spec. To achieve better performance you should use Partitioned Distributed Topics. When using Replicated Distributed Topics, you need to configure the JMS adapter to use unrestricted clientid and shared subscription policy, which are the default settings. At the same time, to achieve subscription name uniqueness, the JMS adapter requires that the property TopicMessageDistributionAll default value of false is set to true. You can define this property by setting the FactoryProperties property of the connection instance in weblogic-ra.xml. An example usage snippet of connection instance from weblogic-ra.xml for a local cluster is as shown below: nameFactoryPropertiesname value ClientID=SOAClient2;TopicMessageDistributionAll=truevalue property

8.4.11.4.1 Specifying the Message Selector when Defining an Activation Spec

You also need to specify a message selector when defining an activation spec. The message selector is required when you create one copy of message per adapter Endpoint. To specify the selector, use the Adapter Wizard when modeling a composite application that reads from Replicated Distributed Topic The metadata for the message selector you specify will be captured in the .jca file. Below is an example of a message selector defined in an activation spec.This message selector will filter out the copy of the forwarded message when sending a message to a destination subscriber. This message selector is only applicable for when using Replicated Distributed Topics. activation-spec className=oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec property name=DestinationName value=jmsDemoInTopic property name=UseMessageListener value=false property name=DurableSubscriber value=dsub1 property name=MessageSelector value=NOT JMS_WL_DDForwarded property name=PayloadType value=TextMessage activation-spec With Distributed Topics, retriable exceptions lead to message retry, while non- retriable exceptions lead to message rejection. AvailableUnavailableFailure notification does not impact the working of the outbound adapter reference. The message is produced by creating a MessageProducer for the Distributed Destination and not for a specific member. In the Distributed Topics environment, as elsewhere, an error will be processed based on the fault policies defined for the outbound reference.

8.4.11.4.2 Compatibility and Migration

Oracle JCA Adapter for JMS 8-57 Remote Distributed Queue support is feasible for releases of WebLogic JMS back to WLS JMS version 9.0, using the new DestinationAvailabilityListener API. A remote Distributed Topic is not supported if it is older than WebLogic 10.3.4, as shared subscriptions, unrestricted client ids, the not forwarded. In this cae, you will need to instead directly reference a Distributed Topic member JNDI name, and somehow deal with the single subscriber per subscription limitation.