Scaleability of JMS Clients Receiving Messages

How do you scale the receipt of messages in a JMS client for messages from the same topic?
Given a topic, I would like to enable concurrent receipt and processing of messages by many concurrent listeners where a single message is only consumed once by any of the listeners. Even more, I would like to scale by having many clients with possibly many listeners servicing the same topic where a single message is only consumed/processed once.
However, based on the documentation (see below) it appears sessions only enable a single thread of execution to be simultaneously running servicing incoming messages one at a time! And adding subscribers implies the delivery of a single message to each subscriber creating duplicate processing of the same message.
Quote from JMS Tutorial: "The session used to create the message consumer serializes the execution of all message listeners registered with the session. At any time, only one of the session's message listeners is running."

Hi vincegeorge,
To be able to have several consumers actively using message listeners concurrently you could create each consumer on a different session. This would get around your problem of concurrent receipt and processing of messages when using message listeners.
The second problem, ensuring that each message is received by only one TopicSubscriber is much more difficult. As each subscriber will receive every message that is sent to the particular topic then each subscriber will be sent a copy of that message. The only exception to this rule is if you have set a "message selector" for the consumer. If you knew exactly which subscribers were active at the publisher end then you could set a property on the message, e.g. SubscriberID=1, on the message and then each subscriber could set a message selector to say that they only wished to receive messages with the property SubscriberID set to their particular number. To notify the publisher which subscribers are active you could have a special destination that contains heartbeat messages informing everyone of their subscriberID.
However, is it possible instead though that you could use a queue. This would be much easier to code (no message selector and no need to keep everyone informed of which subscriberID's are available) as the queue would ensure that only one receiver ever consumed the message.
Hope this helps a little,
Tom Jenkinson
Arjuna Technologies Limited

Similar Messages

  • Upgraded 10g - 11g: Standalone JMS not receiving messages async (listener)

    I had a small application that received messages from the oracle database through JMS (asyncronously). It worked when the database was 10g, but the messages are no longer being received through the JMS listener (staying in queue table) after the database was upgraded to 11g.
    I used another 10g instance on the same server - and it is still working on 10g.
    Is there some sort of configuration - specific to 11g - that needs to be done to accomplish the same thing in 11g?

    As I've no idea what version of 10g or 11g and you've posted no code my only possible recommendation is that you hit the docs: http://tahiti.oracle.com and look at what changed.

  • My JMS Consumer receives messages at uneven time gaps

    I have two applications, say APP1 and APP2. Both of these are connected through JMS Bridges.
    APP1 is hosting the PUSH bridge to APP2.
    There was an uneven delay in the messages that are received at APP2.
    I have checked the logs and found that there is a time gap between APP1 posting the message on the JMS queue and APP2 receiving it.
    This is not happening for all the messages that are moving in between these applications, but it is consistently reoccuring.
    Many of the messages are received within 2Secs at APP2.But some of the messages are taking upto 30secs to show up at APP2.
    There is no network load between these applications.
    I want to understand why this is happening? and how to resolve this?
    Could anyone help me out?
    Thanks,
    Aditya
    Edited by: Aditya@AU on Jun 11, 2009 11:59 PM

    Are you using OpenMQ (also known as Glassfish MQ, Java System Message Queue) ? If yes, are you using OpenMQ 4.4's JMS Bridge feature ?

  • How to set JMS clients to use JVM Invocation layer

    Hi,
    I'm not sure if this JBoss specific (but I'm assuming it's not) so I'll be asking it here. How can I set my JMS clients and Message-Driven Beans to use JVM Invocation layer since the clients and queues will reside in the same JVM.
    Thanks in advance.

    May be that explains why I couldn't successfully integrate ActiveMQ with JBoss. I was using the 3.0 version. I'll try again once I find the time.
    Anyway, do you know how to set JBoss JMS clients and MDBs to use JVM invocation or transport layer instead of UIL2?
    I'm not sure if what I've done is correct But here's what I've done.
    For jvm-il-service.xml, I changed the JNDI reference from "ConnectionFactory" to "JVMILConnectionFactory" since the default service uses "ConnectionFactory". Then I used that reference as my JNDI look up in my JMS client. I'm just not sure how to do this with MDBs. I think I should add an entry in the ejb descriptor file but I need someone to confirm.
    Thanks.

  • JMS Client can not receive a message

    Hi,
    after migration from SAP XI 3.0 to SAP PI 7.1, it is not possible that our jms-client can receive a message from a queue of the sap jms-provider.
    but the send-process of a message in a queue works fine.
    So what is different when you compare the jms-provider of SAP XI 3.0 and SAP PI 7.1?
    Perhaps, the selector has changes?
    Can anybody help me please?
    Regards
    Stefan

    Deadcowboy wrote:
    My ISP is Cox Communications, I have checked all the folders in web mail also, and She is not getting any bounced message saying the message was not sent.
    That's who I have and have found quite a bit of email in their online spam folder. But, if it is not there, something is blocking it--either at her end or yours.
    Cox now supports IMAP, so you can actually map their Spam folder to Junk in Mail--and gain the other benefits of IMAP over POP.

  • Exception in OSM 7.0 when XSLT Automator received message from JMS

    Hi
    I have been prototyping on OSM 7.0 on Linux. I have a simple project, with two "Automated tasks" and some manual tasks.
    The first Automated task is using a XSLT Sender, and sends a message to a JSM queue "A".
    The second Automated task is using a XSLT Automator to listen for a JMS message received from an external system in JMS queue "B".
    I have setup a JMS bridge on the WebLogic server where OMS is running, so that messages in queue "A" are forwared to queue "B".
    So I am seeing messages being sent to queue A and then forwarded to queue B.
    However, I keep getting exceptions when OSM is trying to process the messages received at queue B.
    It complains about "ORA-20503: no current hist_seq_id found for given automation context.".
    Does anybody know what this means ?
    At first I thought it might be the "JMSCorrelationId" for the message which arrived at queue B which was wrong, but that does not seem to be the case, because if I sent a dummy message with a dummy JMS correlation id, then I get another exception : "ORA-20502: Automation context not found.". This exception is ok, and I understand the reason for it.
    Here are som excerpts from the log file for the "no current hist_seq_id found" case :
    com.mslv.oms.dataaccesslayer.ProxyException: ORA-20503: no current hist_seq_id found for given automation context.
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 27
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 88
    ORA-06512: at line 1
    Nested Exception: ORA-20503: no current hist_seq_id found for given automation context.
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 27
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 88
    ORA-06512: at line 1
    Nested Exception: java.sql.SQLException: ORA-20503: no current hist_seq_id found for given automation context.
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 27
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 88
    ORA-06512: at line 1
         at com.mslv.oms.dataaccesslayer.a.execute(Unknown Source)
         at com.mslv.oms.dataaccesslayer.CallableProxy.execute(Unknown Source)
         at com.mslv.oms.automation.plugin.AutomationDispatcherImpl.getClusterRequestContext(Unknown Source)
         at oracle.communications.ordermanagement.cluster.message.ClusterMessageHandlerBean.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         Truncated. see log file for complete stacktrace
    java.sql.SQLException: ORA-20503: no current hist_seq_id found for given automation context.
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 27
    ORA-06512: at "ORDERMGMT.OM_AUTOMATION_PKG", line 88
    ORA-06512: at line 1
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         Truncated. see log file for complete stacktrace
    <11-Feb-2010 12:32:05,954 CET PM> <ERROR> <message.ClusterMessageHandlerBean> <ExecuteThread: '12' for queue: 'oms.automation'> <Failed to process cluster request due to ClusterRequestContext = NULL>
    <Feb 11, 2010 12:32:05 PM CET> <Error> <oms> <BEA-000000> <message.ClusterMessageHandlerBean: Failed to process cluster request due to ClusterRequestContext = NULL>
    <Feb 11, 2010 12:32:06 PM CET> <Warning> <EJB> <BEA-010065> <MessageDrivenBean threw an Exception in onMessage(). The exception was:
    java.lang.RuntimeException: No transaction associated with request.
    java.lang.RuntimeException: No transaction associated with request
         at oracle.communications.ordermanagement.cluster.message.ClusterMessageHandlerBean.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4585)
         Truncated. see log file for complete stacktrace
    Regards
    Alf Hogemark
    Edited by: user494649 on 11.feb.2010 04:26
    Edited by: user494649 on 11.feb.2010 04:27

    Hi,
    I am trying to send message using XSLT sender for an automated task from osm 6.3.1 to ASAP 7.0, and also raised a request "Unable to deploy ATM/FrameRelay plugins for OSM 6.3.1" as i am stuck with an error- Null pointer Exception. could you share how did u deploy and register the plugins for sending message on automated tasks?
    i am using ant for deploying the catridge and plugins,
    Also could you point me the reason for the error
    Thanks in advance.

  • Flex client can SEND but not RECEIVE messages from BlazeDS

    Hi there,
    I built a sample chat application that should be able to send/receive messages from a JMS topic. However, I am only able to SEND messages, I am not able to receive them. Any advice/suggestions would be GREATLY appreciated as I am seriously stuck.
    My setup:
    - BlazeDS Turnkey
    - FioranoMQ JMS provider on remote machine
    What I know:
    - My MXML code is good. I am able to use the exact same code and get both subscribing and publishing working when I use 'ActiveMQ' instead of 'FioranoMQ' as my JMS provider
    - FioranoMQ JMS provider is working fine, my test Java clients can both subscribe and publish to the same JMS topic that the Flex app uses
    - Publishing from my Flex app is working because my Java client is able to receive messages from the same topic whenever Flex messages are sent to FioranoMQ
    - My Flex app is supposedly 'subscribed' to and 'connected' to the correct (streaming-amf) channel. I know this because the MXML 'Consumer' object's "subscribed" and "connected" properties are true and no fault events appear whenever I issue "consumer.subscribe()" in my Flex app.
    Sample debug console log:
    (I tried sending 8 JMS messages from my Java client code to the 'mytopic' topic that my Flex app is using. The end of the log shows that SOMETHING is happening after sending these messages, but notice the actual 'message' is never streamed even in the log!)
    [BlazeDS] 01/27/2009 FlexSession created with id '72D3E6EED1364AD328F342F1AF59FF
    69' for an Http-based client connection.
    [BlazeDS] 01/27/2009 Channel endpoint flextest-streaming-amf received request.
    [BlazeDS] 01/27/2009 Deserializing AMF/HTTP request
    Version: 3
    (Message #0 targetURI=null, responseURI=/1)
    (Array #0)
    [0] = (Typed Object #0 'flex.messaging.messages.CommandMessage')
    operation = 5
    correlationId = ""
    clientId = null
    timestamp = 0
    body = (Object #1)
    headers = (Object #2)
    DSMessagingVersion = 1
    DSId = "nil"
    timeToLive = 0
    destination = ""
    messageId = "AECE3D84-789C-29B7-3413-197C7A48A7D2"
    [BlazeDS] 01/27/2009 Serializing AMF/HTTP response
    Version: 3
    (Message #0 targetURI=/1/onResult, responseURI=)
    (Externalizable Object #0 'DSK')
    (Object #1)
    DSMessagingVersion = 1.0
    DSId = "ED38E721-2609-CF34-62A2-28D918C4BB8F"
    1.233083202182E12
    (Byte Array #2, Length 16)
    (Byte Array #3, Length 16)
    (Byte Array #4, Length 16)
    [BlazeDS] 01/27/2009 Channel endpoint flextest-streaming-amf received request.
    [BlazeDS] 01/27/2009 Endpoint with id 'flextest-streaming-amf' is streaming mess
    age: Flex Message (flex.messaging.messages.AcknowledgeMessage)
    clientId = null
    correlationId = open
    destination = null
    messageId = ED38E793-E519-95BB-3E4C-1A7E8D716951
    timestamp = 1233083202229
    timeToLive = 0
    body = ED38E793-E50A-2500-E2F5-7525401FD8CE
    [BlazeDS] 01/27/2009 Number of streaming clients for FlexSession with id '72D3E6
    EED1364AD328F342F1AF59FF69' is 1.
    [BlazeDS] 01/27/2009 Number of streaming clients for endpoint with id 'flextest-
    streaming-amf' is 1.
    [BlazeDS] 01/27/2009 Channel endpoint flextest-streaming-amf received request.
    [BlazeDS] 01/27/2009 Deserializing AMF/HTTP request
    Version: 3
    (Message #0 targetURI=null, responseURI=/2)
    (Array #0)
    [0] = (Typed Object #0 'flex.messaging.messages.CommandMessage')
    operation = 0
    correlationId = ""
    clientId = null
    timestamp = 0
    body = (Object #1)
    headers = (Object #2)
    DSEndpoint = "flextest-streaming-amf"
    DSId = "ED38E721-2609-CF34-62A2-28D918C4BB8F"
    timeToLive = 0
    destination = "flextest-message-destination"
    messageId = "5ED8AAA4-BDA8-C8E4-D85B-197C7AC5E83A"
    [BlazeDS] 01/27/2009 JMS consumer for JMS destination 'mytopic' is starting.
    [BlazeDS] 01/27/2009 JMS consumer for JMS destination 'mytopic' is

    Hi Alex, thanks for your advice. I tried reading the client-side logs, but it just physically shows what I was saying earlier - that the consumer is connected and subscribed, but no messages are coming through to it.
    I've attached the output of the 'flashlog.txt' file. For the particular session shown, the flex application was sent 8 JMS messages, but as you can see nothing got through. I put a 'trace' message in the message handler function (for my consumer object), but it never gets called.
    'E2513351-75DA-0837-7263-3807B91D9630' consumer set destination to 'flextest-message-destination'.
    '7D784A40-DBBB-71F1-4029-3807B91D45E3' producer set destination to 'flextest-message-destination'.
    'consumer' consumer subscribe.
    'flextest-streaming-amf' channel endpoint set to http://localhost:8400/FLEXTEST/msgbroker/streaming-amf
    'flextest-streaming-amf' channel settings are:
    'flextest-streaming-amf' pinging endpoint.
    'flextest-streaming-amf' channel is connected.
    'flextest-streaming-amf' channel sending message:
    (mx.messaging.messages::CommandMessage)
      body=(Object)#0
      clientId=(null)
      correlationId=""
      destination="flextest-message-destination"
      headers=(Object)#0
      messageId="8A592005-3C8A-4C6C-B074-380857710C00"
      operation="subscribe"
      timeToLive=0
      timestamp=0
    'consumer' consumer connected.
    'consumer' consumer acknowledge for subscribe. Client id '37CC5DED-A019-7110-3C89-A9926835103E' new timestamp 1233595684954
    'consumer' consumer acknowledge of '8A592005-3C8A-4C6C-B074-380857710C00'.
    Seems to me there can only be two explanations: either my BlazeDS configuration is incorrect (which is unlikely given that everything works if I use a ActiveMQ as my JMS provider with only trivial changes to my configuration), or there is some bug within BlazeDS that is preventing it from working properly with FioranoMQ. What do you think?

  • How to receive message from flex client

    From the sample 'testdrive-datapush', I know how to receive message from backend(java) to flex client.
    Now, I want to know how to receive message from flex client to backend.
    I tried to find it in http://livedocs.adobe.com/blazeds/1/javadoc/.
    but I failed.
    Do you guys know the solution?

    Alex mentioned a solution in another thread.
    http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=messaging_config_3. html#256378
    [quote]
    Using a JMSConsumer object instead of the JMS adapter
    You use a JMSConsumer to listen for JMS messages without relying on the JMS adapter. Customer code is responsible from receiving JMS messages, converting them to Flex messages and using BlazeDS APIs to pass the message to Flex clients.
    In the following code example, a bootstrap service is used to create a JMSConsumer object when the server starts. When a JMS message is received, it is printed (rather than converting it to a Flex message and handing it to BlazeDS). For different workflows, a RemoteObject could be used to create JMSConsumer objects.
    [/quote]
    Do you know where is the code example?

  • Linux client don't receive messages

    I got this strange problem. I'm using weblogic 8.1 sp5 as a J2EE server for an application that use JMS. I also have a java client who send messages to a queue and receive messages throw a topic. When a run the client in a windows machine the messages are sended and received, but when I use a Linux machine (redhat 3) the client don't receive the messages published into the topic.
    I've tried into several machines, with redhat 3 and fedora. The only way to make it work is to run the client into the same machine where the server is.
    Please help!
    Thanks

    I finally solve the problem!
    The linux client has a default entry in the hosts file matching the 127.0.0.1 IP the the machine name. For some reason, the jms topic listener didnt' keep the connection with the server and start listening to himself. Therefore, the messages wasn't processed by the topic listener.
    Removing this entry and creating a new one matching the real IP with the host name solve the problem.

  • [svn:bz-trunk] 15217: Bug: BLZ-508 - If server receives message for an unknown destination it shouldn ' t include the destination name in the error message sent back to the client .

    Revision: 15217
    Revision: 15217
    Author:   [email protected]
    Date:     2010-04-05 03:43:36 -0700 (Mon, 05 Apr 2010)
    Log Message:
    Bug: BLZ-508 - If server receives message for an unknown destination it shouldn't include the destination name in the error message sent back to the client.
    QA: Yes
    Doc: No
    Checkintests: Pass
    Details: Changed the error message to not include destination id. I'm also checking in a few minor fixes I had locally.
    Ticket Links:
        http://bugs.adobe.com/jira/browse/BLZ-508
    Modified Paths:
        blazeds/trunk/modules/common/src/flex/messaging/errors.properties
        blazeds/trunk/modules/core/src/flex/messaging/MessageBroker.java
        blazeds/trunk/modules/core/src/flex/messaging/cluster/JGroupsCluster.java

    Thanx Mete, yeah i did...
    but i solved it some other way... not entirely sure this was
    it though as i was doing a lot of things at once...
    it was fds.swc... possibly it was out of date or missing.

  • Oracle PL/SQL send/receive message in weblogic jms queue

    I am looking for a very simple way using oracle plsql to send and receive messages in a weblogic jms queues.
    Thanks

    Even i am looking for the same . Would be great if someone would help ..The jms setup has to be done in weblogic like the jms server, jms module, Jms connection factory , jms queue and then the jndi names . Now thw Problem here lies to me is that i really dont knw what should be the connection factory targets ,jndi names and where do i give the schema details as in the user name ,password , db name . Also if there is any explaination with eg on how to send /receive messages from a db trigger to jms queues .

  • How to send message from Message Driven Bean  to JMS client?

    In my project I have JMS client, two QueueConnectionFactory and Message Driven Bean. Client send message to MDB through the first QueueConnectionFactory , in one's turn MDB send message to client through the second Queue Connection Factory . I already config my Sun AppServer for sending message in one way, and sending message from MDB to the second QueueConnectionFactory. But on my Client there is an error : �JNDI lookup failed: javax.naming.NameNotFoundException: No object bound to name java:comp/env/jms/MyQueue2� (jms/MyQueue2 � this is the name of my Queue). So it couldn't get this message.
    P.S.
    Thank you for help!!!

    What is the name of the second queue?is the connection factory on the local?Yes the connection factory is on the local. The name of my first queue is jms/MYQueue and the name of another one is jms/MyQueue2.

  • Received message with invalid client

    Logs on one Lion 10.7.5 machine are full of
    dscl[48193]: received message with invalid client_id 3
    The PID keeps incrementing but the client_id is always 3
    Googling mainly leads back to:
    https://discussions.apple.com/message/18643232?searchText=Received%20message%20w ith%20invalid%20client#18643232
    But this system isn't using LDAP.  I found one post that suggested stopping and restarting AFP, but:
    macbook:~ joliver$ sudo serveradmin stop afp
    afp:error = "CANNOT_LOAD_BUNDLE_ERR"
    macbook:~ joliver$ sudo serveradmin start afp
    afp:error = "CANNOT_LOAD_BUNDLE_ERR"
    Any ideas?

    You may find the solution here:
    https://discussions.apple.com/thread/3602806
    SQL

  • Received message without correlationID

    Hi,
    I am facing a strange problem.
    Whenever I execute any JPD in my weblogic workshop using the Workshop test browser, I am getting following error.
    <Error> <WLW> <000000> <Received message without
    correlationID. MessageID=ID:P<294710.1177353184648.0>>
    1. I created a JPD which has a Client Request Node and uses some WLI JMS controls to post messages to a queue.
    When I run this JPD from test browser, I am getting the above error.
    2. Then I created another simple JPD with just one single perform node. Even that gives the same error.
    3. Then I thought it may be a problem with my domain and created a fresh wli domain and tested the JPD. Still the same error.
    I do not understand what could be the problem.
    Can someone help me with this.
    Thanks

    This is a problem with the configuration of your JMS control. For me it worked when I stripped the @jc:jms annotations from the send/receive methods of my JMS control. Following is the code:
    package processes;
    import com.bea.control.*;
    import java.io.Serializable;
    * @jc:jms receive-type="queue" receive-jndi-name="TestQ" send-type="queue" send-jndi-name="TestQ"
    * connection-factory-jndi-name="weblogic.jws.jms.QueueConnectionFactory"
    public interface MyJms extends JMSControl,com.bea.control.ControlExtension
    * this method will send a javax.jms.TextMessage to send-jndi-name
    public void sendTextMessage(String payload);
    static final long serialVersionUID = 1L;
    interface Callback extends JMSControl.Callback
    void pickMessage(String message);
    Message was edited by sodhi at Jan 29, 2005 2:56 PM

  • MDB vs standalone JMS client

    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? Are MDB passivated at any
    time ?
    Many thanks for any answer,
    Rosalie
    Rosalie

    Rosalie Mignon wrote:
    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.There's a number of MDB advantages over writing your own JMS consumers.
    I would recommend MDBs for JMS consumers running within WLS. If you
    have a JMS consumer that is a separate (say client) process, then
    vanilla JMS is still the way to go.
    The MDB container takes care of things like reconnecting you to JMS if
    it fails. It supports foreign JMS providers so your MDBs will work with
    "foreign" messaging systems like MQ-Series.
    >
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?Yes, ejbCreate would be fine.
    >
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?I'm not sure I understand. You will have a pool of MDB instances all
    receiving from the queue. When an instance is available and there is a
    message pending, the EJB/JMS containers will call your MDB's onMessage
    implementation.
    >
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?Not that I can think of.
    >
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? You are not really allowed to create threads from an EJB. Why do you
    need to create threads? In general, we wouldn't recommend that
    server-side applications create new threads on each request.
    Are MDB passivated at any
    time ?
    No
    Many thanks for any answer,Your domain name is an unusual one for the J2EE world. If you can tell
    us, I'd be interested to know what you're doing.
    -- Rob
    >
    Rosalie
    Rosalie

Maybe you are looking for

  • New Album from Smart Album makes NEW VERSIONS of all files? Bug?

    Got what I think is an oddball bug here, but see if any of you have experienced it. Making a new album of the contents of a Smart Album with about 600 images resulted in the SBOD, a lot of time and disk activity and the creation of NEW VERSIONS of al

  • Mac Mini Late 2012 i5 Slow On Mavericks

    Hi, I am running a late 2012 i5 Mac Mini with 4gb of ram. I have had the machine since new for about 8 1/2 months. It is connected to 2 monitors and is my main machine at home. I have noticed that if I am running the machine on mountain lion it works

  • Javac Error

    when running javac i get this error Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object to me that looks like my JDK or something to that nature did not startup cause i ran javac on a file i know worked i recen

  • Windows size / resolution when connecting via scvmm console

    Hi right... please see attached screenshot for my problem.. As you can see... the windows is the usual size, but the server VM it is displaying is not showing as it should.. something has gone wrong with the display settings.. The only resolution I'v

  • XL Reporter Historical Financial Problem

    I've built my profit and loss statement into XL Reporter, but because of my period endings, it shows zeroes for any closed period.  How do I get it to show a real historical financial statement?