JMS Connection management from a remote client - Weblogic
This is a discussion on JMS Connection management from a remote client - Weblogic ; Hi,
I would like to know what is the best approach for managing the JMS connections
when the client is on a remote machine ? I've tried declaring the JMS connection
factory as a Servlet or EJB resource for the ...
-
JMS Connection management from a remote client
Hi,
I would like to know what is the best approach for managing the JMS connections
when the client is on a remote machine ? I've tried declaring the JMS connection
factory as a Servlet or EJB resource for the following scenarios
(1) The application is deployed on a cluster with a connection factory deployed
on the cluster.
(2) The application is deployed on a cluster, but the connection factory is deployed
on only 1 node of the cluster. In this case, it doesn't matter from which node
the connections are being obtained.
In our case, we'd have Weblogic Express instances using JMS service hosted on
WLS. Should there be a connection connection pooling in this case ?
Thanks,
Radhakrishnan
-
Re: JMS Connection management from a remote client
See the JMS Performance Guide white-paper on dev2dev. Pay
special attention to the pooling and clustering sections.
Radhakrishnan J wrote:
> Hi,
>
> I would like to know what is the best approach for managing the JMS connections
> when the client is on a remote machine ? I've tried declaring the JMS connection
> factory as a Servlet or EJB resource for the following scenarios
>
> (1) The application is deployed on a cluster with a connection factory deployed
> on the cluster.
> (2) The application is deployed on a cluster, but the connection factory is deployed
> on only 1 node of the cluster. In this case, it doesn't matter from which node
> the connections are being obtained.
>
> In our case, we'd have Weblogic Express instances using JMS service hosted on
> WLS. Should there be a connection connection pooling in this case ?
>
> Thanks,
> Radhakrishnan
>
>
-
Re: JMS Connection management from a remote client
Tom,
Thanks for the pointer. I'm yet to go through the complete document, herez a quick
question:
From what I gather, remote clients obtaining connections to WebLogic server(s),
that are clustered, should not pool those connections.
I have a more basic question. I am more eager to know what happens at the basic
level. Let me run through the steps that a remote client would do to obtain a
JMS connection
- Create a configured initial context for JNDI lookups.
- By the time a lookup for the connection factory is served, a TCP connection
is established with a WL server for the JNDI service. If there is a cluster in
place, There would be a load-balancing ( either at the DNS level or if the URL
is a comma separated list of member servers) that would determine to which server
the TCP connection gets established.
- When the JMS connection is created using the connection factory
(a) Is this a new TCP connection ? If so to which server ?
OR
(b) Is the same TCP connection setup while doing JNDI lookup used for the JMS
connection as well ?
Thanks,
Radhakrishnan
Tom Barnes
wrote:
>See the JMS Performance Guide white-paper on dev2dev. Pay
>special attention to the pooling and clustering sections.
>
>Radhakrishnan J wrote:
>
>> Hi,
>>
>> I would like to know what is the best approach for managing the JMS
>connections
>> when the client is on a remote machine ? I've tried declaring the JMS
>connection
>> factory as a Servlet or EJB resource for the following scenarios
>>
>> (1) The application is deployed on a cluster with a connection factory
>deployed
>> on the cluster.
>> (2) The application is deployed on a cluster, but the connection factory
>is deployed
>> on only 1 node of the cluster. In this case, it doesn't matter from
>which node
>> the connections are being obtained.
>>
>> In our case, we'd have Weblogic Express instances using JMS service
>hosted on
>> WLS. Should there be a connection connection pooling in this case ?
>>
>> Thanks,
>> Radhakrishnan
>>
>>
>
-
Re: JMS Connection management from a remote client
- a TCP/IP connection is established when establishing the context:
term the host WL server the "context host"
- between a client and a particular wl server there is only
one TCP/IP connection, all EJB/JMS/JNDI traffic is
multiplexed over this connection
- the JMS connection factory may return a connection to a WL server
host other
than the context host, which, as a result, creates
a new TCP/IP connection (see the clustering
section of the white-paper for details)
- pooling of JMS connections/sessions/producers/destinations
etc is recommended if high performance is needed. (Hundreds
or thousands established per second.)
Radhakrishnan J wrote:
> Tom,
>
> Thanks for the pointer. I'm yet to go through the complete document, herez a quick
> question:
>
> From what I gather, remote clients obtaining connections to WebLogic server(s),
> that are clustered, should not pool those connections.
>
> I have a more basic question. I am more eager to know what happens at the basic
> level. Let me run through the steps that a remote client would do to obtain a
> JMS connection
>
> - Create a configured initial context for JNDI lookups.
> - By the time a lookup for the connection factory is served, a TCP connection
> is established with a WL server for the JNDI service. If there is a cluster in
> place, There would be a load-balancing ( either at the DNS level or if the URL
> is a comma separated list of member servers) that would determine to which server
> the TCP connection gets established.
> - When the JMS connection is created using the connection factory
> (a) Is this a new TCP connection ? If so to which server ?
> OR
> (b) Is the same TCP connection setup while doing JNDI lookup used for the JMS
> connection as well ?
>
> Thanks,
> Radhakrishnan
>
> Tom Barnes
> wrote:
>
>>See the JMS Performance Guide white-paper on dev2dev. Pay
>>special attention to the pooling and clustering sections.
>>
>>Radhakrishnan J wrote:
>>
>>
>>>Hi,
>>>
>>>I would like to know what is the best approach for managing the JMS
>>
>>connections
>>
>>>when the client is on a remote machine ? I've tried declaring the JMS
>>
>>connection
>>
>>>factory as a Servlet or EJB resource for the following scenarios
>>>
>>>(1) The application is deployed on a cluster with a connection factory
>>
>>deployed
>>
>>>on the cluster.
>>>(2) The application is deployed on a cluster, but the connection factory
>>
>>is deployed
>>
>>>on only 1 node of the cluster. In this case, it doesn't matter from
>>
>>which node
>>
>>>the connections are being obtained.
>>>
>>>In our case, we'd have Weblogic Express instances using JMS service
>>
>>hosted on
>>
>>>WLS. Should there be a connection connection pooling in this case ?
>>>
>>>Thanks,
>>>Radhakrishnan
>>>
>>>
>>
>