Release 10.1A: OpenEdge Development:
ADM Reference

> ## SmartProducer and SmartConsumer

> The SmartMessageProducer sends messages using some message-transport system. At present, the only transport system supported is SonicMQ.

> On demand, SmartMessageProducer creates a message body of the appropriate kind, passes it back to the requesting object—such as a SmartB2BObject or SmartSender—to be filled in, and finally inserts the message into the outbound message-transport queue. If it receives a reply to a message, it accepts it and passes it upstream for processing.

> The SmartConsumer handles inbound traffic from some message-transport system. It accepts incoming messages and passes them on for processing by some other object such as a SmartB2BObject or SmartReceiver. It also sends reply messages when required.

> The class names of the objects are Producer and Consumer, respectively. They are OpenEdge classes derived from the Messaging class.

> The file `src/adm2/producer.p` is the super procedure for the class SmartProducer. The file `src/adm2/consumer.p` is the super procedure for the class SmartConsumer. Table 1–21 lists the class and custom files related to `producer.p`.

> Table 1–21: Class and custom files for SmartProducer
> Class files | Custom files
> --- | ---
> Definition | `producer.cld` | Super | `producercustom.p`
> Method | `producer.i` | Method | `producercustom.i`
> Property | `prodprop.i` | Property | `prodpropcustom.i`
> Prototype | `prodprto.i` | Prototype | `prodprtocustom.i`
> Template | `producer.w` `dynproducer.w` | Exclude | `producerexclcustom.i`
> – | – | Instance | `producerdefscustom.i`

> Table 1–22 lists the files for the Consumer class.

> Table 1–22: Class and custom files for Consumer
> Class files | Custom files
> --- | ---
> Definition | `consumer.cld` | Super | `consumercustom.p`
> Method | `consumer.i` | Method | `consumercustom.i`
> Property | `consprop.i` | Property | `conspropcustom.i`
> Prototype | `consprto.i` | Prototype | `consprtocustom.i`
> Template | `consumer.w` `dynconsumer.w` | Exclude | `consumerexclcustom.i`
> – | – | Instance | `consumerdefscustom.i`

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095