This discussion is archived
7 Replies Latest reply: Mar 27, 2013 7:30 AM by Anuj Dwivedi RSS

Advantages and Disadvantages of JMS Queue over Fabric

833389 Newbie
Currently Being Moderated
HI,
I want to know both the advantages and disadvantages of using JMS queue over the default Fabric queue in B2B adapter.

Is it ok if I configure all my inbound and outbound transactions across all the trading partners to communicate with their respective SOA composite via the default JMS Queues(B2B_IN_QUEUE and B2B_OUT_QUEUE)?

Please advise.

Thanks in advance.

Regards,
Monica
  • 1. Re: Advantages and Disadvantages of JMS Queue over Fabric
    Anuj Dwivedi Guru
    Currently Being Moderated
    Monica,

    JMS messaging is asynchronous by nature and hence performs better in comparison to default (fabric) communication which is synchronous by nature. Moreover, if B2B fails to deliver the message to fabric then it is delivered to the IP_IN_QUEUE (default AQ) so you may need any extra layer of error handling for this scenario. Whereas if JMS is on the same JVM then there will be no case when JMS may not be available.

    Also note that for binary message transfer, JMS is the only option (apart from FILE/FTP/SFTP)
    Is it ok if I configure all my inbound and outbound transactions across all the trading partners to communicate with their respective SOA composite via the default JMS Queues(B2B_IN_QUEUE and B2B_OUT_QUEUE)?
    Depends on load and message priority. If load is not too huge and all the transactions are of same priority then you may use default JMS queues, otherwise create separate queues so that messages can be distributed and processed as per the priority.

    Regards,
    Anuj
  • 2. Re: Advantages and Disadvantages of JMS Queue over Fabric
    833389 Newbie
    Currently Being Moderated
    Thank you Anuj for you inputs.

    My payload will be of 30MB in size. All what memory settings should I take care if I am using a JMS queue?
    Currently I am getting the OutOfMemory issue.

    Below are my system details:
    SOA Suite :11.1.1.5.0
    RAM: 4GB

    Please let me know if you need further information.

    Thanks in advance.

    Thanks,
    Monica
  • 3. Re: Advantages and Disadvantages of JMS Queue over Fabric
    Anuj Dwivedi Guru
    Currently Being Moderated
    Monica,
    My payload will be of 30MB in size. All what memory settings should I take care if I am using a JMS queue?
    Why do you want to process 30MB of data in memory? You may like to refer -

    http://docs.oracle.com/cd/E23943_01/user.1111/e10229/app_perform.htm#BABEHDIA

    Regards,
    Anuj
  • 4. Re: Advantages and Disadvantages of JMS Queue over Fabric
    833389 Newbie
    Currently Being Moderated
    Hi Anuj,
    Thank you for your reply.

    But the size of the payload which I am using is unpredictable, it can differ from 1 MB to 40MB in future.

    I am using a JMS based B2B Adapter in my SOA Composite, I have set the Large Payload Size to 3 MB.

    Now When I am posting the payload under 3MB, it is working fine..
    All other payloads greater than 3MB, it is getting faulted with the message:
    "SAX Exception in translator. SAX Exception raised while trying to SAX Parse InputStream . Please make sure that the xml data is valid."

    Please suggest

    Thanks,
    Monica
  • 5. Re: Advantages and Disadvantages of JMS Queue over Fabric
    Anuj Dwivedi Guru
    Currently Being Moderated
    Hi Monica,
    But the size of the payload which I am using is unpredictable, it can differ from 1 MB to 40MB in future.
    This is not a problem. B2B can handle MB's of file if server has enough resources.
    all other payloads greater than 3MB, it is getting faulted with the message:
    "SAX Exception in translator. SAX Exception raised while trying to SAX Parse InputStream . Please make sure that the xml data is valid."
    Please remember that when B2B will find a large payload then it will write the large payload into the "Large Payload Directory" (defined in Administration--> Configuration) and pass it's reference to the middleware. So at middleware, you will not receive the actual payload but you will receive it's reference. Using File adapter sync read option, you may read the large file from "Large Payload Directory" at SOA layer.

    If you are using PS5 (11.1.1.6) then you will see that for large payload, B2B passes the JMS header LARGE_PAYLOAD to the back-end so in your composite, you may build logic around this. If this header (LARGE_PAYLOAD) is not coming at SOA layer then payload will be available in the body and if it is populated then payload will be available in the "Large Payload Directory" and it's reference will be available in the message body.

    Regards,
    Anuj
  • 6. Re: Advantages and Disadvantages of JMS Queue over Fabric
    833389 Newbie
    Currently Being Moderated
    Hi Anuj,
    We are on 11.1.1.5.0 .
    Whatever the channel I use, (say file, fabric or JMS), when the payload exceeds the large payload size, it lands in exception.
    Please suggest me some possible solutions.

    Thanks,
    Monica
  • 7. Re: Advantages and Disadvantages of JMS Queue over Fabric
    Anuj Dwivedi Guru
    Currently Being Moderated
    Hi Monica,
    when the payload exceeds the large payload size, it lands in exception.
    You mean to say it fails at SOA layer? If composite instance is failing then it is a different issue. Please check for below points in case message is failing at SOA -

    1. Whether your composite has logic to handle the large payloads (Identifying whether incoming message has a large payload, fetching large payload reference from B2B message and reading it from Large Payload directory)
    2. If logic s there then check the audit trail that exactly where message is failing and with what error. You may paste the complete error with stacktrace (you may get from server-diagnostic log) here.

    If message is failing in B2B then also please provide the error info. It is recommended to use JMS for large payload scenario's.

    Regards,
    Anuj

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points