When we should use JMS based proxy services and when JMS Adapter in OSB

Hi,
Can somebody explain me when we could go for JMS Adapter and when we should go for JMS based service in OSB?
The one scenerio i can think of is when my provider/consumer is using jms provider other than WLS jms provider we should use jms adapter.
Edited by: user12883209 on Jan 5, 2012 5:29 AM

I don't think there are clear guidelines available, however here is my view.
1) OSB 11gR1 is not certified with Oracle JMS Adapter. It is certified with Oracle FTP, Database, AQ and application adapters.
http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/interop.htm#OSBAG1403
2) In addition of the Weblogic JMS, OSB can also integrate with following provider without using adapter.
- WebSphere MQ
- Tibco EMS
3) if you need to integrate JMS with BPEL Process or Oracle SOA suite composite, it has built in support for generic Oracle JMS adapter. Oracle generic JMS adapter can integrate with AQ JMS (JMS providers OJMS 8.1.7, 9.0.1.4, and 9.2), TIBCO JMS, IBM Websphere MQSeries (IBM MQSeries JMS 6.0), Weblogic JMS, Apache, and Active MQ
http://docs.oracle.com/cd/E14571_01/integration.1111/e10231/adptr_jms.htm
4) If you need to integrate OSB with Weblogic JMS, WebSphere MQ, Tbco EMS it does not need JMS adapter.
Hope this helps !!!
Jayesh Patel
http://jayesh-patel.blogspot.com/
http://www.yagnasys.com/

Similar Messages

  • OSB example calling multiple business services using a single proxy service???

    Hi,
    I have three business services created using http urls i.e.
    1. LoginBS
    2. GetListBS
    3. LogoutBS
    My requirement is to get a list of names from GetListBS using a single proxy service and to call GetListBS I have to first call LoginBS then GetListBS i.e. after authentication and then finally logout.
    Kindly help with a detailed example for this and I am new to OSB.
    Thanks,
    Vik

    Hi Eric,
    Thanks for the response. We figured that it is possible to call multiple services with Split Join. However, we ran into the issue you described. We had a blocking call and had to wait until each of the services returned a response.
    However, we needed a Async model for our design and felt that this might not be a right fit.
    We are now looking at implementing the publish option with QoS configured as this fits our usecase better. Thanks for the help again.
    Rudraksh

  • How to use cache on Proxy service in OSB

    Hi all,
    I need to use cache on proxy service. I am new to OSB, I have searched for this on net but unable to find.
    Please come up with some docs or links going through which I can achieve this.
    Thanks,
    Phani.

    i assume you already checked the result caching feature which can be used on the business service?
    http://docs.oracle.com/cd/E14571_01/doc.1111/e15867/configuringandusingservices.htm#OSBAG170

  • How to maintain messageId when using proxy services and mq??

    Hi
    I am a novice to oracle service bus and trying few transformations by configuring proxy services.
    Let me explain the problem I'm facing:
    I have created a business service and a proxy service and configured them in a synchronous way.
    I'm using MQ as a transport protocol....and message I'm passing and transforming is in xml format.
    these proxy and business services are functioning properly.....but at the another end i have created another pair of busines and proxy service which will be taking request message from earlier business service and putting it into another queue which is reference as a response queue by earlier proxy service.
    my second pair is also working properly. now the problem is that it is not maintaining message Id during all the routing.
    and that's why im not able to read the response message from the response queue because of message ID mismatch.
    Please help!!
    tell me if i have to do change any particular configuration settings to maintain the message id for my request message throughout the flow.
    Thanks
    Edited by: ChetakCs on Jun 14, 2010 7:19 AM

    Post this in OSB forum:
    SOA Suite

  • OSB10gR3:High-availbility of file protocol based proxy service

    Hi All,
    I just want to know the options available for creating two proxy services polling on the same location using File transport/ making a file based proxy service independent of managed servers.
    Actually in OSB doc's File Transport Configuration page, it is mentioned that
    Managed Server This field is available only in a clustered domain. Select the Managed Server to act as the polling server. All of the Managed Servers can process the message, but only one can poll for the message. ( [Click here|http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/proxyservices.html#wp1272642] to check)
    So what if the server on which proxy is deployed for polling, goes down? How can we handle such situation?
    Your opinion?
    Thanks & Regards,
    Anuj

    File like FTP and Email transports are singleton services. That is, the processing can take place in any node of the cluster, but the polling only takes place in one. The reason for this is simple, duplicate invocations. If you have 4 nodes in your cluster and they are all polling, when a new file is created, your proxy could be invoked 4 times for the same file.
    You could make two proxy services and have them poll the same directory but on different nodes. If the nodes share the same file system, your business service would have to be able to deal with duplicate messages. If it's not the same file system, the application that creates the files would need to keep track of the status of the servers in the cluster to decide where to put the files.
    I think the best option would be to look into weblogic's cluster features: leasing and server migration. You could configure weblogic to automatically migrate the failed server to another machine (there's also service migration, but I don't think weblogic is aware of osb level services). Of course you would need to use a file system that's available to both the "primary" and the "backup" servers. Have a look here:
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/migration.html
    You could also create a WLST script to modify your proxy service (change the managed server) in case of failure. There should be a way, maybe through JMX or using the WLDF, to get a notification when the server goes down so you can execute your script. Again, you need a shared file system.
    Hope that helps. And if you come up with a good solution let us know!

  • Unable to process huge files in SFTP BASED PROXY SERVICE

    Hi,
    I credted osb project which will have sftp based proxy and sftp based business service.After completing the development i tested the fie transfer through WINSCP ,but my sftp based proxy was picking the files but i am unable to see the files in the output directory for huge files,for small file it is coming after aquite long time .please assist me .

    If you enable content streaming then you cant access the file/message content within the Proxy service and can not perform actions like Replace or perform transformations on the content. Use streaming for pass through scenarios only. If you want to read a large file and also perform transformations on content I would recommend using JCA Adapter for FTP and try reading records from file in batches, a few records at a time. Just so we know the requirement better, what is the file size and what is the format of the content?

  • OBPM BPM Studio support for SOAP 1.2 based Proxy services (OSB)

    Hi,
    I tried to import proxy services from OSB (as external resource). The proxy service is based on the SOAP 1.2 WSDL standard. When BPM studio introspective SOAP1.2 based proxy services, it is givng the following warninigs. Bacause of this i am unable to create a service object. Please help.
    Regards,
    Pandu
    Introspecting...
    downloading /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    checking /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    http://www.michaelpage.com/wsdltypes/common/SimpleTypesv1.0 compiled
    http://www.michaelpage.com/wsdltypes/common/HeaderTypesv1.0 compiled
    http://www.michaelpage.com/wsdlheaders/Headerv1.0 compiled
    http://www.michaelpage.com/wsdlmessages/utilityservices/Routev1.0 compiled
    [Warning] The binding 'OnRampServiceSOAP' with type 's2:OnRampServicePort'is unsupported. Components will not be generaded for this binding..
    'http://www.michaelpage.com/wsdl/utilityservices/routingandmessagingservice/OnRampServicev1.0/' was parsed.
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing Components
    Storing Instrospected Types
    Introspection completed. Errors: 0, Warnings: 3.

    Pandu,
    OBPM 10g doesn't support SOAP 1.2 binding.
    Edited by: 4dyomi on Nov 20, 2009 11:41 AM
    Edited by: 4dyomi on Nov 20, 2009 11:42 AM

  • What is the use of creating proxy services using WSDL.

    Hi
    Am a beginner in ALSB and i have a basic question. Business services are created using WSDL,thats sounds logical as we need to invoke the actual backend services .
    Proxy services are connected to business services and what is the need that it can be e created using WSDL.
    What is the use of creating proxy services using WSDL.

    Hi,
    I beleive you are confused because of the apparent inclusion of transport information in WSDL (that is the host:port/endpoint where the service is hosted). However, if you refer to the w3c specification of WSDL1.0 ([url http://www.w3.org/TR/wsdl]www.w3.org/TR/wsdl), you will find that WSDL has three separate sections:
    1. The schema information that describes data element(s): specified in types
    2. The message information ie message and port sections that specify the parameters and the operations
    3. The service section that specify the actual protocol and endpoint binding.
    Ideally, a WSDL can be broken down into these three separate components. Any WSDL containing the first two is called an abstract WSDL and is used for a top-down approcah for web services, and if the third part is used, then you get a concrete WSDL, containing invocation end-point also.
    Comming back to your question one can typically use an Abstract WSDL for creating proxy service. This way, the service requester and integration can go on two separate threads where the common denominator or agreement between these two parties in terms of operation name and data element are imposed using the WSDL.
    Thanks and Regards
    Vivek Nandey
    BEA Certified Developer for Integration Solutions

  • Polling messages based on priority in BPEL using JMS adapter

    Hi All,
    Is it possible to poll the messages based on the priority in BPEL using JMS adapter?
    I could set the priority for the messages but while polling it is picking the messages in FIFO(First in First out) order. But I want the messages to be picked on priority.Any help is appreciated.

    Do you only want to pick up messeges with a certain priority? So anything larger than say priority 2?
    You can try this: Oracle JCA Adapter for JMS - 11g Release 1 (11.1.1.5.0)
    Message SelectorThis field is also optional. It filters messages based on header and property information. The message selector rule is a Boolean expression. If the expression is true, then the message is consumed. If the expression is false, then the message is rejected.For example, you can enter logic, such as:
    JMSPriority > 3. Based on this, messages with a priority greater than 3 are consumed; all other messages are rejected.
    JMSType = 'car' AND color = 'blue' AND weight > 2500
    Country in ('UK', 'US', 'France')

  • Throttling using JMS Adapter poller threads

    Hi,
    We are trying to realize the throttling using JMS Adapter poller threads mechanism
    I came across this http://docs.oracle.com/cd/E14571_01/core.1111/e10108/adapters.htm (15.5 Oracle SOA JMS Adapter Tuning )
    adapter.jms.receive.threads
    Here is my configuration. I tried both the options listed below but none works for me.
    option 1 - here property is of type string
    <service name="JMSDelayMsgRead" ui:wsdlLocation="JMSDelayMsgRead.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/JMSDelayMessage/JMSDelayMessage/JMSDelayMsgRead#wsdl.interface(Consume_Message_ptt)"/>
    <binding.jca config="JMSDelayMsgRead_jms.jca">
    <property name="adapter.jms.receive.threads" type="xs:string" many="false">4</property>
    </binding.jca>
    </service>
    option 2 - Here property is of type integer
    <service name="JMSDelayMsgRead" ui:wsdlLocation="JMSDelayMsgRead.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/JMSDelayMessage/JMSDelayMessage/JMSDelayMsgRead#wsdl.interface(Consume_Message_ptt)"/>
    <binding.jca config="JMSDelayMsgRead_jms.jca">
    <property name="adapter.jms.receive.threads" type="xs:integer" many="true" override="may">4</property>
    </binding.jca>
    </service>
    I tried minimumDelayBetweenMessages parameter for throttling (which is based on time delay) and it works as expected but poller threads mechansim is more suitable for my situation.
    Here is my environment details
    I'm on SOA 11.1.1.4
    JMS Adapter consuming from a Topic (IBM MQ)
    Durable Subscription
    Can any one help me get throttling using poller threads working?
    Please let me know if you need further details about my configuration / logs etc.
    I posted this in two other forums but didn't get any responses on them so posting it here. I apologize for the repetition of this post in multiple forums.
    Thanks & Regards
    shashi

    Hi Raks,
    Check this note for JNDI configuration..
    802754
    "If a 3rd party JMS provider should be used then usually the "Name of JNDI initial context factory" must be adjusted. I.e. com.sap.engine.services.jndi.InitialContextFactoryImpl must be replaced by some.other.vendor.jms.jndi.InitialContextFactory In addition it is necessary to deploy the jar that contains the some.other.vendor.jms.jndi.InitialContextFactory with the aii_af_jmsproviderlib.sda SDA file. In addition, you must extend the server/provider.xml deployment descriptor in the relevant way. Refer to Chapter 11 of the XI 3.0 Configuration Guide for more information"
    You need to find out class "Name of JNDI initial context factory" for tibco  as mentoned in the note and deploy the corresponding JAR file.
    Also check this link for JNDI configuration parameters in the JMs adapter..
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    Regards
    Anand

  • How to get the incoming file name using JMS adapter and SOAP adapter

    Hi Everybody,
       In one of my interface i need to get the file name of incoming flat file using JMS adapter at sender side. and then i am using xslt to convert it to IDOC and then posting to  SAP IDOC.
    my incoming filname are in this form price<DateTimestamp>.txt. when i do the tranformation this incoming file name should be part of one element in the IDOC which i am posting.
    EX:
    <IDOC
    <REF>price<DateTimestamp>.txt</REF>
    </IDOC>
    Hope it is clear to everybody. I need your suggestion how i can capture this incoming file name and send it as part of IDOC.
    Thanks
    raj

    If they are passing it in message id or correlation id,
    you can access it using
    <xsl:variable name="dynamic-conf" 
            select="map:get($inputparam, 'DynamicConfiguration')" />
        <xsl:variable name="dynamic-key"  
            select="key:create('http://sap.com/xi/XI/System/JMS', 'DCJMSMessageID/ DCJMSCorrelationID')" />
        <xsl:variable name="dynamic-value"
            select="dyn:get($dynamic-conf, $dynamic-key)" />
    Check this:
    http://help.sap.com/saphelp_nw70/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    Beena.

  • How  to Set JMS property and Read JMS property in BPEL using JMS adapter

    Does any one know how to set or read more than one JMS property in BPEL using JMS adapter. My queue server is Oracle JMS server.
    Any help and sample is well appreciated

    Hi Van
    I have noted that only the attribute "type" is missing. It seems that when you create a "string" property, the attribute "type" is droped from the XML. If you use another type (as "integer" or "double") it stays there.
    If you try to read your properties, except for the "type" attribute, you should be successful, as I am. If you need, please tell me your email, I can send you my code.
    Source Code:
    in ASSIGN activity (process which SENDS the JMS message):
    <assign name="TESTES">
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@type"/>
    </copy>
    <copy>
         <from expression="'name'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@name"/>
    </copy>
    <copy>
         <from expression="'value1'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@value"/>
    </copy>
    <bpelx:append>
         <bpelx:from>
         <Property name="" type="" value=""
              xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/"/>
         </bpelx:from>
         <bpelx:to variable="HeaderJms" part="outboundHeader"
              query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties"/>
    </bpelx:append>
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@type"/>
    </copy>
    <copy>
         <from expression="'name2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@name"/>
    </copy>
    <copy>
         <from expression="'value2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@value"/>
    </copy>
    </assign>
    in ASSIGN activity (process which READS the JMS message)
    <assign name="Assign_1">
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@value"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@value"/>
    <to variable="temp"/>
    </copy>
    </assign>
    Note that I do not try to read the "type" attribute, otherwise it will fail.
    Here is the JMS Header Message received:
    <inboundHeader>
    <JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">
    <JMSInboundHeaders>
    <JMSCorrelationID>
    bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0/3200025-BpInv0-BpSeq1.6-2
    </JMSCorrelationID>
    <JMSDeliveryMode>2</JMSDeliveryMode>
    <JMSExpiration>0</JMSExpiration>
    <JMSMessageID>ID:467DFA1FA1ED459EBF37F51F596C3F12</JMSMessageID>
    <JMSPriority>4</JMSPriority>
    <JMSRedelivered>false</JMSRedelivered>
    <JMSType>com.mercurio.lms.integration.c001eip.c001EIntegrationPoint</JMSType>
    <JMSTimestamp>1201552046253</JMSTimestamp>
    </JMSInboundHeaders>
    - <JMSInboundProperties>
    <Property name="JMSXDeliveryCount" type="integer" value="1"/>
    <Property name="JMSXRecvTimestamp" type="long" value="1201552046698"/>
    <Property name="JMSXUserID" value="lms_dev_int_v1_user"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="JMS_OracleDelay" type="long" value="0"/>
    <Property name="JMSXState" type="integer" value="0"/>
    <Property name="IAS_VERSION" value="10.1.3"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="name" value="value1"/> ("type" attribute was droped!!!)
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="name2" value="value2"/> ("type" attribute was droped!!!)
    </JMSInboundProperties>
    </JMSInboundHeadersAndProperties>
    </inboundHeader>
    Regards
    Marcelo

  • Problem with Send using JMS Adapter with Websphere MQ

    Hi,
    We have two scenarios using JMS Adapter with MQ:
    1. File->PI->MQ
    This works fine and drop the file in MQ correctly.
    2. MQ->PI->File
    This gives an error reading from the queue: (see highlighted in the log below). It correctly connects to the queue name. But it fails with the message "Could not begin a AF transaction".
    Our PI version is 7.0 SP 13
    Websphere MQ Version 6.0.
    Any idea what could be wrong?
      Cluster Node  Administration Information  Availability Times
    Cluster Node Details for Channel CC_JMS_MQ_Sender
    Short Log 
    In the Last 4 Hours Server 0 15_92786
    _Sucessfully connected to destination 'queue:///MMPP.PLM.FGH41? CCSID=37&targetClient=1'_
       Line 1 / 1
    Processing Details for Cluster Node Server 0 15_92786
    Type 
    Time Stamp 
    Message ID 
    Explanation 
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d Error while processing message '2e6206f0-7925-11dd-bc02-0003bae50b4d';  _detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Could not begin a AF transaction: TxManagerException: Unable to open transaction: com.sap.engine.services.ts.exceptions.BaseSystemException at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:103) ..._  
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d XI message ID corresponding to JMS message with ID 'ID:414d512071736431202020202020202047d9462024028b02' will be created as a new GUID with value '2e6206f0-7925-11dd-bc02-0003bae50b4d'
    Amith Dharmasiri

    Checked the drivers installed in :
    /usr/sap/<SID>/DVEBMGS<SYSNO>
    /j2ee/cluster/server0/bin/ext/com.sap
    .aii.af.jmsproviderlib
    They are available and properly added to aii_af_jmsproviderlib.sda.
    The drivers are:
    CL3Export.jar
    CL3Nonexport.jar
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
    These were installed per OSS note 747601.
    Any other suggestions, why retrieving from MQ doesn't work?

  • Async/Sync Communication using JMS adapter without BPM

    Hello ,
    Pls suggest how Async/Sync Communication using JMS adapter without BPM .
    In my scenario I have JMS Sender and then RFC/JDBC as Sync and then again JMS receiver
    Pls explain  the concept of
    JMSMessageID and JMSCorrelationID  and how to use it by an example.
    Regards

    Hi,
    If you have selected JMSMessageID, JMSCorrelationID, or JMSProperty and entered a JMS message ID in these fields, you should see the Remove 'ID:' Marker from JMSMessageIDindicator. Set the indicator.
    This is necessary because the JMS specification stipulates that each JMS message ID starts with 'ID'. However, this conflicts with ISO-11578.
    - JMSMessageID (Uniqueness Is JMS-Provider-Dependent)
    (String) The unique message ID. Note that this is not a required field and can be null. Since the JMS provider might not use your provided message ID, the Connector sets a special property called $jms.messageid after sending a message. This is to insure that the message ID always is available to the user. To retrieve this value use conn.getProperty("$jms.messageid") in your After Add hook.
    - JMSCorrelationID (Uniqueness Is JMS-Sender-Dependent)
    (String) This header is set by the application for use by other applications.
    Hope this will help you.
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • Which Event Classes i should use for finding good indexs and statistics for queries in SP.

    Dear all,
    I am trying to use pro filer to create a trace,so that it can be used as workload in
    "Database Engine Tuning Advisor" for optimization of one stored procedure.
    Please tel me about the Event classes which i  should use in trace.
    The stored proc contains three insert queries which insert data into a table variable,
    Finally a select query is used on same table variable with one union of the same table variable, to generate a sequence for records based on certain condition of few columns.
    There are three cases where i am using the above structure of the SP, so there are three SPS out of three , i will chose one based on their performance.
    1) There is only one table with three inserts which gets  into a table variable with a final sequence creation block.
    2) There are 15 tables with 45 inserts , which gets into a tabel variable with a final
    sequence creation block.
    3)
    There are 3 tables with 9 inserts , which gets into a table variable with a final
    sequence creation block.
    In all the above case number of record will be around 5 lacks.
    Purpose is optimization of queries in SP
    like which Event Classes i should use for finding good indexs and statistics for queries in SP.
    yours sincerely

    "Database Engine Tuning Advisor" for optimization of one stored procedure.
    Please tel me about the Event classes which i  should use in trace.
    You can use the "Tuning" template to capture the workload to a trace file that can be used by the DETA.  See
    http://technet.microsoft.com/en-us/library/ms190957(v=sql.105).aspx
    If you are capturing the workload of a production server, I suggest you not do that directly from Profiler as that can impact server performance.  Instead, start/stop the Profiler Tuning template against a test server and then script the trace
    definition (File-->Export-->Script Trace Definition).  You can then customize the script (e.g. file name) and run the script against the prod server to capture the workload to the specified file.  Stop and remove the trace after the workload
    is captured with sp_trace_setstatus:
    DECLARE @TraceID int = <trace id returned by the trace create script>
    EXEC sp_trace_setstatus @TraceID, 0; --stop trace
    EXEC sp_trace_setstatus @TraceID, 2; --remove trace definition
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

Maybe you are looking for