Sender Pool Question - Weblogic

This is a discussion on Sender Pool Question - Weblogic ; Hi, I ve been working with the JMS technology for a while now. I want to improve the performance. When sending one message can take some "time" (all lookups on CFactories, creating Connections, Sessions, lookup on Queues and Topics ). ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Sender Pool Question

  1. Sender Pool Question


    Hi,
    I ve been working with the JMS technology for a while now.
    I want to improve the performance. When sending one message can take some "time"
    (all lookups on CFactories, creating Connections, Sessions, lookup on Queues and
    Topics ).

    So I started to read the Weblogic JMS Performance Guide (WebLogicJMSPerformanceGuide.pdf
    )

    I saw an example about using a Sender Pool.
    I found it great about its caching mechanism, but I ve a question about the SenderPool.close(
    ) method ? Do I need to call the close method at all ? If yes, when do I need
    to call it ?

    Guess this is a question to mr T Barnes

    Is there any other implementations for the Sender Pool, maybe with some time lease
    feature etc ?

    Thank you, J C!

  2. Re: Sender Pool Question

    Hi John,

    John Cokoulo wrote:
    > Hi,
    > I ve been working with the JMS technology for a while now.
    > I want to improve the performance. When sending one message can take some "time"
    > (all lookups on CFactories, creating Connections, Sessions, lookup on Queues and
    > Topics ).
    >
    > So I started to read the Weblogic JMS Performance Guide (WebLogicJMSPerformanceGuide.pdf
    > )
    >
    > I saw an example about using a Sender Pool.
    > I found it great about its caching mechanism, but I ve a question about the SenderPool.close(
    > ) method ? Do I need to call the close method at all ?


    In a word, yes!

    In several words:
    In order to ensure timely cleanup of scarce resources, it is
    best practice not to rely on garbage collection and not
    to rely on automatic clean up on a failure. In
    particular, relying on java finalizers is notoriously
    problematic.

    > If yes, when do I need
    > to call it ?


    On any type of failure, and when the app is done with resource.

    >
    > Guess this is a question to mr T Barnes
    >
    > Is there any other implementations for the Sender Pool, maybe with some time lease
    > feature etc ?
    >


    - I'm not aware of other pool implementations in BEA
    samples/examples.

    - One common alternative pooling method is to leverage the
    application pooling built into servlets and EJBs by
    simply initializing and referencing reusable resources
    right inside an EJB instance and calling the EJB to
    invoke methods on in its cached instance. (Is
    this info in the white-paper? Hmmm. I think I'll
    throw it in the next version. But I've got to
    trim that thing down! Sigh.)

    - BEA contexts, JMS connections, JMS sessions, etc.
    don't use up server resources once created except
    for some memory, so a leasing mechanism might
    not be necessary if the app in question creates
    less than a few hundred of these. But if you end
    up writing your own lease feature (presumably by using
    WebLogic timers to periodically sweep the pool), I
    encourage you to post it.

    > Thank you, J C!



+ Reply to Thread