Identifying Execute Queue Threads as Socket Readers

Hi All,
Preface: I am trying to identify at any given instance the percentage of
socket reader threads that are in use - this will help me to identify when
all threads are in use and unable to service user requests. Thus my goal is
to identify threads that are socket readers and whether they are active or
idle.
Through JMX I can obtain an instance of each
weblogic.management.runtime.ExecuteThread, which lists the same information
that you see in the console if you drill down to the thread level, for
example:
mydomain> Servers> myserver> Active Execute Queues> default> Execute Threads
That information includes:
- thread number
- total requests
- last request
- current request
- transaction
- user
- is the thread idle?
Now my question is from this information can you identify which of these
threads are being used as socket readers?
Here are some excerpts from my JMX calls:
Name: ExecuteThread: '0' for queue: 'default'
Execute Queue Runtime Name: default
Current Request: null
Last Request: Http Request: /bookstore/en/authors/showauthors.jsp
User: null
Is Idle?: true
Name: ExecuteThread: '15' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: Scheduled Trigger
User: null
Is Idle?: true
Name: ExecuteThread: '26' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: null
Last Request: ListenRequest for a new connection on: 'Socket
addr=127.0.0.1,port=2061,localport=7001]'
User: null
Is Idle?: true
Name: ExecuteThread: '59' for queue: 'default'
Execute Queue Runtime Name:default
Current Request: Socket Reader Request
Last Request:
weblogic.transaction.internal.ServerCoordinatorDescriptor$2@138786
User: null
Is Idle?: false
It would appear that the "ListenRequest" last request would identify a
socket reader, only I have 60 threads in my default execute queue with 70%
dedicated to socket readers and the number of threads that say their last
request was "ListenRequest ..." is only 5.. Furthermore there is only one
"Socket Reader Request" identified thread.
Are threads identified as socket readers permanently or constantly reused
for whatever purpose is required (with a cap of use based off of the socket
reader perspective)?
Thanks in advance for your help!
Steve

Hi Achhi,
Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
Thanks
Jay SenSharma
http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here)

Similar Messages

  • Threads as Socket Readers

    What does mean by Socket Readers?
    How it improves the performance of Application by configuring percentage of threads as socket readers?
    Can someone please answer my questions?

    Hi Achhi,
    Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
    Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
    Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
    To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
    Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here)

  • Identifying Execute Threads as Socket Readers

    Hi All,
    Preface: I am trying to identify at any given instance the percentage of
    socket reader threads that are in use - this will help me to identify when
    all threads are in use and unable to service user requests. Thus my goal is
    to identify threads that are socket readers and whether they are active or
    idle.
    Through JMX I can obtain an instance of each
    weblogic.management.runtime.ExecuteThread, which lists the same information
    that you see in the console if you drill down to the thread level, for
    example:
    mydomain> Servers> myserver> Active Execute Queues> default> Execute Threads
    That information includes:
    - thread number
    - total requests
    - last request
    - current request
    - transaction
    - user
    - is the thread idle?
    Now my question is from this information can you identify which of these
    threads are being used as socket readers?
    Here are some excerpts from my JMX calls:
    Name: ExecuteThread: '0' for queue: 'default'
    Execute Queue Runtime Name: default
    Current Request: null
    Last Request: Http Request: /bookstore/en/authors/showauthors.jsp
    User: null
    Is Idle?: true
    Name: ExecuteThread: '15' for queue: 'default'
    Execute Queue Runtime Name:default
    Current Request: null
    Last Request: Scheduled Trigger
    User: null
    Is Idle?: true
    Name: ExecuteThread: '26' for queue: 'default'
    Execute Queue Runtime Name:default
    Current Request: null
    Last Request: ListenRequest for a new connection on: 'Socket
    addr=127.0.0.1,port=2061,localport=7001]'
    User: null
    Is Idle?: true
    Name: ExecuteThread: '59' for queue: 'default'
    Execute Queue Runtime Name:default
    Current Request: Socket Reader Request
    Last Request:
    weblogic.transaction.internal.ServerCoordinatorDescriptor$2@138786
    User: null
    Is Idle?: false
    It would appear that the "ListenRequest" last request would identify a
    socket reader, only I have 60 threads in my default execute queue with 70%
    dedicated to socket readers and the number of threads that say their last
    request was "ListenRequest ..." is only 5.. Furthermore there is only one
    "Socket Reader Request" identified thread.
    Are threads identified as socket readers permanently or constantly reused
    for whatever purpose is required (with a cap of use based off of the socket
    reader perspective)?
    Thanks in advance for your help!
    Steve

    Hi Achhi,
    Socket Reader Threads are the Threads which are responsible for reading the incoming request data. We can divide the Socket reader threads in two categories:
    Pure Java Socket Reqders: The pure-Java socket reader implementation, where the socket reader threads continually poll all opened sockets to determine whether they contain data to be read, even if the sockets have no data to read. (From Performance Point This is Not Good that the Sockets will be in Opened Mode even if there is no Data to read)
    Native Socket Readers: (These are the Dafault Socket Readers) The native IP socket reader provided by the host machine's operating system, where the socket reader threads target only active sockets that contain data to be read. Native socket readers never poll sockets because they are immediately notified when a socket needs to be serviced. For Better Performance You should always prefer using Native Socket Readers.
    To Enable Native Socket Readers You can Login to AdminConsole--->Servers ---><SERVER_NAME>--->configuration (Tab)--->Tuning (SubTab)---> "Enable Native IO" (This checkbox must be checked)
    Still If you want to use the Java Socket Readers .... still you can improve the performance of socket communication by configuring the proper number of socket reader threads for each server instance. For best performance, the number of socket reader threads in WebLogic Server should equal the potential maximum number of opened sockets.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/weblogic (WebLogic Wonders Are here)

  • Execute queue thread count set back?

    I have a script which automatically sets up execute queues (and their thread counts) for either an admin server or two managed servers in a cluster (depending on whether it's a standalone deployment). Upon building a domain, the script connects to a temporary server and sets everything up, at this point it appears all the queues and thread counts are set correctly. However once the build has completed and the generated config.xml is checked, three queues don't have any thread counts associated with them at all; these queues are:
    ThreadQueue (Count)
    wli.internal.ProcessInstanceInfo (15)
    wli.internal.ProcessTracking (15)
    wli.process.event.thread.pool (15)
    The other queues have all their thread counts set correctly. Does anybody know how these queues are used and if this will have an impact on the above problem?

    No worries about this post, the reason has been solved.
    Reason
    The default thread count for execute queues in development mode is 15 threads, therefore if a queue is specified with this value it won't be set in the config.xml (when an execute queue doesn't have a ThreadCount attribute, the default is used instead). The trouble is that when the server is started we enter production mode where the default thread count is 25 threads instead.

  • Error message when access WLS: active sockets and socket readers configuration

    Hi,
    I got the following error when I tried to access the WLS using a program to get
    the mbeans data.
    This error happens when I have 3 or more servers running ( 1 admin server, 2 or
    more managed servers). With cluster with more than 2 servers running, this error
    also occurs.
    <Sep 10, 2001 8:35:01 PM CDT> <Warning> <JavaSocketMuxer> <There are: '3' active
    sockets, but the maximum number of socket readers allowed by theconfiguration
    is: '2', you may want alter your configuration.>
    I creased the socket readers from 33% to 66%, but I still got the same error.
    I'm using WLS version 6.0 sp2
    My configuration is:
    Execute Threads = 15,
    Socket Readers = 33% or 66%
    Does anyone know how to fix this ? I am really appreciate for any suggestions.
    thanks,
    Kieu

    thank you, I just found out about setting those sockets using command line options
    an hour ago. But thanks a lot.
    -Kieu
    Kaye Wilcox <[email protected]> wrote:
    Kieu,
    You could try increasing the number of execute threads, you can do this
    via
    the admin console on the <server> --> Tuning tab.
    See http://edocs.bea.com/wls/docs60/perform/WLSTuning.html#1104317 for
    guidelines on setting the thread pool size and the number of socket readers.
    Here is a link that talks about socket communication in a cluster
    http://edocs.bea.com/wls/docs60/cluster/features.html#1007001.

  • Error message on active sockets & socket readers configuration

     

    hi Kieu,
    I am having the same problem. Were you able to figure out why you had that
    problem and how you resolved that issue. I am seeing slow performance on client
    as well. I am assuming this could be the reason for slow performance.
    thanks,
    Zeeshan.
    "Kieu Tram" <[email protected]> wrote:
    >
    Hi,
    I got the following error when I tried to access the WLS using a program
    to get
    the mbeans data.
    This error happens when I have 3 or more servers running ( 1 admin server,
    2 or
    more managed servers). With cluster with more than 2 servers running,
    this error
    also occurs.
    <Sep 10, 2001 8:35:01 PM CDT> <Warning> <JavaSocketMuxer> <There are:
    '3' active
    sockets, but the maximum number of socket readers allowed by theconfiguration
    is: '2', you may want alter your configuration.>
    I creased the socket readers from 33% to 66%, but I still got the same
    error.
    I'm using WLS version 6.0 sp2
    My configuration is:
    Execute Threads = 15,
    Socket Readers = 33% or 66%
    Does anyone know how to fix this ? I am really appreciate for any suggestions.
    thanks,
    Kieu

  • How to find the Current threads idle in each execute queue

    Hi,
    Currently I am able to get the idle threads in the default queue.
    I would like to find out if it is possible to find out the no of threads
    that are idle in each of the execute queues in the wls server.
    Thanks
    Senthil

    Senthil Kumar wrote:
    Hi,
    Currently I am able to get the idle threads in the default queue.
    I would like to find out if it is possible to find out the no of threads
    that are idle in each of the execute queues in the wls server.
    Thanks
    Senthil
    Senthil, the easiest way from the command-line is by using a
    ExecuteQueueRutime MBean. You could use the simple syntax below or use
    the more specific domain oject name. You could also omit the -property
    option and get a list of every attribute for the bean.
    %java weblogic.Admin -url t3://127.0.0.1:7001 -username system -password
    weblogic -get -pretty -type ExecuteQueueRuntime -property
    ExecuteThreadCurrentIdleCount
    HTH
    ~Ryan

  • Thread pools for execute queues

    We've set up thread pools for several execute queues dedicated to high-load servlets
    in our application. Once in a while, we get into a condition in which none of
    these threads are available and then the threads never become available - we have
    to restart the server.
    I realize that this is a pretty generic description of the problem :-) but I wonder
    if anyone else has encountered this and has an idea what might be causing it ?
    Right now I am guessing that something in our code causes a resource contention
    that eventually deadlocks all the threads. But that is just a guess.

    Ethan,
    "Ethan Allen" <[email protected]> wrote in message
    news:3e0220a1$[email protected]..
    Thanks, Dimitri and Slava !
    I will do this and learn a little emore ...FYI, there is a web site dedicated to weblogic documentation -
    http://e-docs.bea.com/
    Pick your server version, go to "Search", type "thread dump".
    Regards,
    Slava Imeshev
    >
    ethan
    "Slava Imeshev" <[email protected]> wrote:
    Hi Ethan,
    For windows press <Ctrl>+<Break> in the server shell window,
    for *nix send kill -3 {server PID}.
    Regards,
    Slava Imeshev
    "Ethan Allen" <[email protected]> wrote in message
    news:3e020fb4$[email protected]..
    Thanks for your reply, Dimitri.
    We have not looked at thread dumps. How may we do this ?
    Ethan
    "Dimitri I. Rakitine" <[email protected]> wrote:
    Did you try looking at thread dumps when this happens ?
    Ethan Allen <[email protected]> wrote:
    We've set up thread pools for several execute queues dedicated to
    high-load
    servlets
    in our application. Once in a while, we get into a condition in
    which
    none of
    these threads are available and then the threads never become
    available
    - we have
    to restart the server.
    I realize that this is a pretty generic description of the problem:-) but I wonder
    if anyone else has encountered this and has an idea what might be
    causing
    it ?
    Right now I am guessing that something in our code causes a
    resource
    contention
    that eventually deadlocks all the threads. But that is just a
    guess.
    >>>>
    Dimitri

  • Different execute queues with different thread priorities

    We are running WebLogic 6.1, SP2 on Solaris 2.8 and I have a question related to the
    use of Execute queues
    I'm aware that the administration console servlets, and the rest of requests given
    to the server run in separate execution queues each with their own pool of threads.
    There is an <executequeue> element in the config.xml that allows you to change the
    parameters of the default execute queue that most requests are handled in.
    My question is is it possible to create new execute queues, each with a given number
    of threads running at a different priority. Then one could assign a particular WAR
    deployment to a queue and hence control the priority that certain requests run at
    governed by the deployment that received the initial request.
    Essentially the problem that I'm trying to address is that I have a JAR with MDBs
    in it. I also have JARs with Entity and Session EJBs and WARs. They are all using
    the same pool of threads to execute. I want to be able to throttle the MDBs as they
    receive messages so they don't take over the machine and interfere with interactive
    use. Now I can limit the number of MDBs in the MDB pool, but then if the machine
    is not being used by users, then the machine resources are wasted only allowing one
    MDB to be active at a time when there are a lot of messages in the queue.
    What I want to be able to do is to have as many MDBs run as I can, up to a certain
    limit, say 15 for example, but not to pull from the same thread pool/execute queue
    as the requests for URLs in the WAR. Also I want the MDB threads to run at a much
    lower priority and always give preference to interactive requests.
    So interactive threads will always win and grab the processors if interactive use
    is high, but if it's not, the MDBs can run instead.
    Regs,
    Paul

    Hi,
    I had a chat with BEA support about my issue. You can create multiple ExecuteQueues
    and assign them to servlet definitions in WARs in the web.xml, and with an option
    to the EJBC compiler, you can assign a particular class of EJB to an ExecuteQeueue.
    For details see http://e-docs.bea.com/wls/docs61/perform/AppTuning.html#1106284
    Presumably it's the thread of the initial request that counts, i.e. if a WAR calls
    an EJB, then it's the thread in the execute queue of the WAR that will be used right
    the way through the request, not that of the EJB being called, assuming they are
    both deployed in the same WebLogic instance. If they were in different instances,
    you would obviously have a thread from the WAR queue on one instance, and a thread
    from the EJB queue on another instance.
    If a plain Java command-line client connected directly to an EJB, then it would be
    the thread from the ExecuteQueue of the EJB that would get used.
    I've been told that MDBs always run in the default queue, so it seems that the way
    for me to do what I want is just to create an ExecuteQueue, set the priority of the
    threads in this queue to be higher than that of the default queue, and assign this
    queue to my WARs. I can leave my EJBs running in the default queue.
    Regs,
    Paul
    "Dimitri I. Rakitine" <[email protected]> wrote:
    Don't know about 6.1 (One can find out very easily what the possible config
    parameters
    are by deploting
    http://dima.dhs.org/misc/listMBeans.jsp and
    http://dima.dhs.org/misc/showMBean.jsp
    abd looking at the XXXConfig mbeans), but in 7.0 there are quite a few
    things which
    can be tuned in the executequeue config (and priority is one of them. also
    interesting
    is that it is possible to configure it to increase number of execute threads
    when queue
    length exceeds some specified threshold) :
    QueueLength
    Returns the maximum length of this queue.
    ThreadPriority
    Returns the priority of the threads associated with this queue.
    ThreadCount
    Returns the number of threads assigned to this queue.
    QueueLengthThresholdPercent
    Returns the threshold percent for length of this queue, set in QueueLength.
    ThreadsIncrease
    Returns the number of threads to grow when a queue is within QueueLengthThresholdPercent
    of the set QueueLength.
    ThreadsMaximum
    Returns the maximum number of threads in the pool.
    ThreadsMinimum
    Returns the minimum number of threads in the pool.
    Dimitri

  • Java client socket readers

              I'm running a cluster of 3 WL 6.0 servers and when I do a JNDI lookup to run methods
              on a remote interface stub on the client side it gives me the following:
              <Apr 26, 2001 2:16:34 PM MST> <Warning> <JavaSocketMuxer> <There are: '3' active
              sockets, but the maximum number of socket readers allowed by theconfiguration
              i
              s: '2', you may want alter your configuration.>
              I re-ran my client with the two following properties:
              -Dweblogic.system.executeThreadCount=5
              -Dweblogic.system.percentSocketReaders=60
              it still gives me the exception. How do I get this to work properly so I have
              as many socket readers as servers?
              Thanks in advance.
              

    Thanks,
              I had understood this wrong, I was configuring on the server, not the client
              application,
              it's all working well now.
              Cheers
              Sioux
              "Kumar Allamraju" <[email protected]> wrote in message
              news:[email protected]...
              > i.e. if percentSocketReaders = 50, and execute Threadcount is 20, 50% of
              20 = x?
              >
              > you will get x percentSocketReaders. You might want to tune this value ,
              > according to the above
              > formula.
              >
              >
              > Sioux France wrote:
              >
              > > Hi,
              > > I'm getting these errors too. I've enabled native IO, upped the number
              of
              > > Threads to 20 and the percentage of readers to 50% but I still get the
              error
              > > about 3 active sockets when I am only allowed 2 in a cluster of 3
              servers.
              > > Did you resolve this?
              > > Thanks
              > > Sioux
              > >
              > > "Kumar Allamraju" <[email protected]> wrote in message
              > > news:[email protected]...
              > > > The following syntax was correct in 510. , not in 60 anymore.
              > > > I would suggest you to increase the execute Thread count & percent
              socket
              > > readers from
              > > > console.
              > > >
              > > > or else set the following from the command line.
              > > > -Dweblogic.ThreadPoolPercentSocketReaders
              & -Dweblogic.ThreadPoolSize..
              > > (i'm not 100%
              > > > sure)
              > > > --
              > > > Kumar
              > > >
              > > > "W. Wen" wrote:
              > > >
              > > > > I'm running a cluster of 3 WL 6.0 servers and when I do a JNDI
              lookup to
              > > run methods
              > > > > on a remote interface stub on the client side it gives me the
              following:
              > > > >
              > > > > <Apr 26, 2001 2:16:34 PM MST> <Warning> <JavaSocketMuxer> <There
              are:
              > > '3' active
              > > > > sockets, but the maximum number of socket readers allowed by
              > > theconfiguration
              > > > > i
              > > > > s: '2', you may want alter your configuration.>
              > > > >
              > > > > I re-ran my client with the two following properties:
              > > > >
              > > > > -Dweblogic.system.executeThreadCount=5
              > > > > -Dweblogic.system.percentSocketReaders=60
              > > > >
              > > > > it still gives me the exception. How do I get this to work properly
              so I
              > > have
              > > > > as many socket readers as servers?
              > > > >
              > > > > Thanks in advance.
              > > >
              >
              

  • Socket Readers

    Currently using WebLogic 6.1 SP2 on Win NT 4.0 with jdk 1.3.1. 2 servers in a cluster.
    The following message is seen.
    <ExecuteThread: '10' for queue: 'default'> <> <> <000000> <There are: '7' active
    sockets, but the maximum number of socket readers allowed by the configuration
    is: '6', you may want to alter your configuration.>
    How do we ensure our configuration is correct? Whenever this message is seen and
    the servers need to start. If we do not restart them, after a while they will
    hang and we need to restart them. Is there any way to resolve this issue? Thanks.

    Hi,
    Thanks for your info on Native IO.
    There is a JVM error message thrown when we are trying to do the thread dump.
    From the JDK website, we realise it is a bug for jdk 1.3.1. Thanks.
    Regards,
    Ai Ling
    Arunabh Hazarika <[email protected]> wrote:
    When native i/o is used, there are a fixed number of threads that are
    dedicated to reading
    incoming requests from clients. These threads are non-blocking i.e. they
    do not block
    waiting for data to arrive at a socket. When using Java i/o, the threads
    block waiting for
    data to arrive at a socket. In this case, if the number of sockets opened
    is greater than
    the number of threads available to read them, data on the remaining sockets
    will remain
    unread, until a thread becomes available to read it and response time
    will increase. This is
    basically what the message means.
    It is not surprising that performance has degraded by turning off native
    i/o. The message is
    not the problem - turning off native i/o is.
    I do not recall there being a problem with taking thread dumps with JDK
    1.3.1 - what
    indicates that the thread dump is not complete?
    Arunabh
    apple wrote:
    Hi Arunabh,
    Is this message critical? As we encounter this message, the server'sperformance
    is very slow. Without this message, the access to the server is muchfaster. We
    will like to know whether we can ignore this message or this messagehas any implication
    to our servers.
    As for your proposal to enable the native io and take thread dump,we have already
    done that. But due to our jdk version used, we are not able to getthe full thread
    dump.
    Thanks.
    Regards,
    apple
    Arunabh Hazarika <[email protected]> wrote:
    To answer your second message first, yes, this message comes when
    native
    i/o is
    disabled. For the first problem, I am not sure how disabling nativeio
    would help
    resolve a server hang - Please take a thread dump when the serverhangs
    with native
    i/o enabled and post it here.
    Thanks,
    Arunabh
    apple wrote:
    Hi Arunabh,
    Our application server will use up the threads very fast and not
    releasing
    them
    after usage, causing our servers to hang once we enable native io.Thus we have
    no choice but to disable the native io. Is there any resolution
    for
    this? Is it
    due to we disable native io which cause the following message to
    appear?
    <ExecuteThread: '10' for queue: 'default'> <> <> <000000> <Thereare:
    '7' active
    sockets, but the maximum number of socket readers allowed by the
    configuration
    is: '6', you may want to alter your configuration.>
    Thanks for your prompt reply.
    Regards,
    Apple
    Arunabh Hazarika <[email protected]> wrote:
    It looks like you have native io disabled. Is there a reason why?
    Arunabh
    apple wrote:
    Currently using WebLogic 6.1 SP2 on Win NT 4.0 with jdk 1.3.1.
    2
    servers
    in a cluster.
    The following message is seen.
    <ExecuteThread: '10' for queue: 'default'> <> <> <000000> <There
    are:
    '7' active
    sockets, but the maximum number of socket readers allowed by
    the
    configuration
    is: '6', you may want to alter your configuration.>
    How do we ensure our configuration is correct? Whenever this
    message
    is seen and
    the servers need to start. If we do not restart them, after a
    while
    they will
    hang and we need to restart them. Is there any way to resolve
    this
    issue? Thanks.

  • Problem in assigning the execute queue to EJB.

    I have a enterprise application in that a have many web application.I want to assign
    the low priority threads to one web application e.g. "A". The "A" is using one
    ejb to execute the some task.
    I am making a execute queue with name let "TestQueue"
    and assigning it to my servlet thru these entries in
    weblogic-ejb-jar :-
    <weblogic-enterprise-bean>
    <ejb-name>InferenceEngine</ejb-name>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jdbc/MyDB</res-ref-name>
    <jndi-name>jdbc/MyDB</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>ejb/InferenceEngine</jndi-name>
    <dispatch-policy>TestQueue</dispatch-policy>
    </weblogic-enterprise-bean>
    Here is my code of config.xml file for execute queue.
    <?xml version="1.0" encoding="UTF-8"?>
    <Domain ConfigurationVersion="8.1.0.0" Name="ACM_1">
    <Server ListenAddress="" ListenPort="8003" Name="ACM"
    NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.1.0">
    <SSL Enabled="false" HostnameVerificationIgnored="false"
    IdentityAndTrustLocations="KeyStores" Name="ACM"/>
    <ExecuteQueue Name="TestQueue" ThreadPriority="1"/>
    </Server>
    I tried the ejbc command line argument -dispatchPolicy TestQueue also. But it
    is also not sending request to my TestQueue.

    One thing to note is the execute queue is chosen when the request enters
    the server. So if a webapp is assigned to Queue-1 and an ejb to
    Queue-2, and the webapp calls the ejb, the request will remain on queue-1.
    -- Rob
    Sunil Kumar Mehta wrote:
    I have a enterprise application in that a have many web application.I want to assign
    the low priority threads to one web application e.g. "A". The "A" is using one
    ejb to execute the some task.
    I am making a execute queue with name let "TestQueue"
    and assigning it to my servlet thru these entries in
    weblogic-ejb-jar :-
    <weblogic-enterprise-bean>
    <ejb-name>InferenceEngine</ejb-name>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jdbc/MyDB</res-ref-name>
    <jndi-name>jdbc/MyDB</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>ejb/InferenceEngine</jndi-name>
    <dispatch-policy>TestQueue</dispatch-policy>
    </weblogic-enterprise-bean>
    Here is my code of config.xml file for execute queue.
    <?xml version="1.0" encoding="UTF-8"?>
    <Domain ConfigurationVersion="8.1.0.0" Name="ACM_1">
    <Server ListenAddress="" ListenPort="8003" Name="ACM"
    NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.1.0">
    <SSL Enabled="false" HostnameVerificationIgnored="false"
    IdentityAndTrustLocations="KeyStores" Name="ACM"/>
    <ExecuteQueue Name="TestQueue" ThreadPriority="1"/>
    </Server>
    I tried the ejbc command line argument -dispatchPolicy TestQueue also. But it
    is also not sending request to my TestQueue.

  • What are the drawbacks of creating execute queues

    Hi thread Gurus
    What are the drawbacks of using execute queues. I understand that if queues are not used they stay idle but on solaris the SunOS scheduler will only give active
    threads CPU time. what ar the other resources being wasted in the process.
    I will appreciate if you can farward me to some documentation on this apart from performance docs on BEA site.
    Regards
    Parminder

    Hi Parminder,
    BEA docs cover tweaking exec queues pretty extensively.
    Could you provide more details on what kind of information
    you are looking for or which concerns do you have?
    Regards,
    Slava imeshev
    "Parminder" <[email protected]> wrote in message
    news:3ef86b40$[email protected]..
    Hi thread Gurus
    What are the drawbacks of using execute queues. I understand that ifqueues are not used they stay idle but on solaris the SunOS scheduler will
    only give active
    threads CPU time. what ar the other resources being wasted in the process.
    I will appreciate if you can farward me to some documentation on thisapart from performance docs on BEA site.
    Regards
    Parminder

  • Execute queue for EJB

    Hi,
    We are working with weblogic 8.1. We have configured one Execute Queue for our
    EJB, and modified deployment desriptor weblogic-ejb-jar.xml using this queue.
    In our application we are using scheduler program(Quartz) to invoke this EJB,
    but the calls are not going in to this Execute queue, instead it goes to the default
    queue.
    But when i call EJB method from other client(different VM), calls goes through
    the execute queue.
    For your information, we haven't modified <enable-call-by-reference> tag, which
    means this option is set to default value false.
    Please let me know if i am missing something?
    Regards
    Naresh

    Hi,
    To assign an EJB object to a configured execute queue, use the new dispatch-policy element in weblogic-ejb-jar.xml.
    Ex : dispatch-policy>queue_name</dispatch-policy>
    If no dispatch-policy is specified, or the specified dispatch-policy refers to a nonexistent server execute thread pool, then the server's default execute thread pool is used instead.
    Go through the following links and find the information on this issue.
    http://e-docs.bea.com/wls/docs81/perform/AppTuning.html#1104273
    http://e-docs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#dispatch-policy
    Regards
    Anilkumar kari

  • Increasing Weblogic client Socket Readers etc

    How can you increase the number of socket readers on a client
    application which
    uses JMS, EJB and talks to multiple WLAS servers.
    I get the following message
    Muxer> <There are: '3' active sockets, but the maximum number of socket
    readers allowed by theconfiguration is: '2', you may want alter your
    configuration.>
    But I cant find out how to increase the socket readers or better yet can
    I use the native IO for Solaris and NT clients??

    Hi,
    You can control the number of threads and the precent of socket readers
    through the properties: weblogic.ThreadPoolSize and
    weblogic.ThreadPoolPercentSocketReaders. You would have to pass them to the
    jvm machine at startup for example:
    -Dweblogic.ThreadPoolSize=10 -Dweblogic.ThreadPoolPercentSocketReaders=50
    Guy
    "Larry Presswood" <[email protected]> wrote in message
    news:[email protected]..
    How can you increase the number of socket readers on a client
    application which
    uses JMS, EJB and talks to multiple WLAS servers.
    I get the following message
    Muxer> <There are: '3' active sockets, but the maximum number of socket
    readers allowed by theconfiguration is: '2', you may want alter your
    configuration.>
    But I cant find out how to increase the socket readers or better yet can
    I use the native IO for Solaris and NT clients??

Maybe you are looking for

  • Error in Start Instance Phase

    Hi Experts, I am in phase start instance in doing hetero system copy for our solman server. sapinst.log INFO 2008-08-09 01:46:33.712 State of instance SLM/DVEBMGS00 changed from ABAP: UNKNOWN to ABAP: UNKNOWN. INFO 2008-08-09 01:46:59.727 Connect to

  • Display Mirroring on TV

    I am trying to remote control an iPod and be able to see the display on my TV. I know I can get a docking station to connect to a stereo unit, but I have to go over to the iPod to change playlists, change songs, etc. I know I can remote control the i

  • What is Time-Machine doing with all that space?!!!

    When I installed Leopard, I had about 750 GB of data on internal hard drives. I set up Time-Machine to back-up to a 1.5 TB external hard drive. I was certain that this was enough space to keep the program happy for a very long time. But now, only two

  • Is the disk drive broken?

    I'm fixing up a family friend's 1st gen Macbook and am experiencing a problem with the disk drive. When I was putting in a CD it wouldn't go in, and it feels as if there is a disc already in there. In fact, I'm almost positive there is because when I

  • Firewire ghost

    I have two external hard drives attached to my Quad G5- a 400 Mb/s FireWire and an 800 Mb/s FireWire (both La Cie). The problem is that the 400 FW drive prevents the 800 Fw drive from mounting, even if the 400 drive is turned off. They are not connec