1 Reply Latest reply on Dec 19, 2007 12:57 PM by Bruce Snyder

    ME Properties

    Patrick Mulligan Newbie

      Are there any predefined/prexisting Message Exchange properties in SMX 3.3.0.x?

        • 1. Re: ME Properties
          Bruce Snyder Novice

          It really depends on how the message exchange is created (e.g., via the ServiceMixClientFacade vs. internal to the ESB) because different properties get set for different reasons. Many of the message exchange properties are in the JbiConstants class:


          package org.apache.servicemix;
          public interface JbiConstants {
              String SEND_SYNC = "javax.jbi.messaging.sendSync";
              String PROTOCOL_TYPE = "javax.jbi.messaging.protocol.type";
              String PROTOCOL_HEADERS = "javax.jbi.messaging.protocol.headers";
              String SECURITY_SUBJECT = "javax.jbi.security.subject";
              String SOAP_HEADERS = "org.apache.servicemix.soap.headers";
              String PERSISTENT_PROPERTY_NAME = "org.apache.servicemix.persistent";
              String DATESTAMP_PROPERTY_NAME = "org.apache.servicemix.datestamp";
              String FLOW_PROPERTY_NAME = "org.apache.servicemix.flow";
              String STATELESS_CONSUMER = "org.apache.servicemix.consumer.stateless";
              String STATELESS_PROVIDER = "org.apache.servicemix.provider.stateless";
              String SENDER_ENDPOINT = "org.apache.servicemix.senderEndpoint";
              String HTTP_DESTINATION_URI = "org.apache.servicemix.http.destination.uri";
               * This property should be set when a consumer endpoint creates an exchange
               * related to another provider exchange. The value of the property should be
               * set to the value of this property in the provider exchange, or to the id
               * of the provider exchange if the property does not exist.
              String CORRELATION_ID = "org.apache.servicemix.correlationId";


          But there is no restriction on calling the MessageExchange.setProperty() method as it is public so there are other places in various components where properties specific to the given component are being set.


          There is also the javax.jbi.transaction.jta property as specified by the JBI 1.0 spec in the MessageExchange interface