> I can't find any reference to "exhausted" or "exhaust" in either
> the session pool, the jms connection, the mdb pool or
> anywhere else in the mdb container.
> Care to provide a stacktrace?

Unfortunately, I lost the log that had the stack trace in it.  I didn't mean
to suggest that the exact word was exhausted or exhaust.  I'm trying to
recreate the error, and if I can, I'll post it.
> 
> The key contraint is the <MaximumSize> in the proxy config. This
> configures a pool of jms sessions that deliver messages to the mdb
> container. Once these are all used, no messages will be delivered
> until an mdb finishes its invocation/transaction.
> 
> The mdb pool in the container configuration is just a repository for
> currently unused mdb instances unless you enabled strict pooling.

I do have strick pooling enabled (if by that you mean strictMaxSize).  Below
is the invokers and container configurations that i am currently using in my
application.

   <invoker-proxy-bindings>
      
    <!-- Workflow related MDBs that will forward retry errors to
queue/workflowDLQ -->
          <invoker-proxy-binding>
         <name>workflow-message-driven-bean</name>
         <invoker-mbean>default</invoker-mbean>
 
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
         <proxy-factory-config>
 
<JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
 
<ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
            <MaximumSize>15</MaximumSize>
            <MaxMessages>1</MaxMessages>
            <MDBConfig>
               <ReconnectIntervalSec>10</ReconnectIntervalSec>
               <DLQConfig>
                  <DestinationQueue>queue/workflowDLQ</DestinationQueue>
                  <MaxTimesRedelivered>3</MaxTimesRedelivered>
                  <TimeToLive>0</TimeToLive>
               </DLQConfig>
            </MDBConfig>
         </proxy-factory-config>
      </invoker-proxy-binding>
      
        <invoker-proxy-binding>
         <name>workflow-message-driven-bean-max1</name>
         <invoker-mbean>default</invoker-mbean>
 
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
         <proxy-factory-config>
 
<JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
 
<ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
            <MaximumSize>1</MaximumSize>
            <MaxMessages>1</MaxMessages>
            <MDBConfig>
               <ReconnectIntervalSec>10</ReconnectIntervalSec>
               <DLQConfig>
                  <DestinationQueue>queue/workflowDLQ</DestinationQueue>
                  <MaxTimesRedelivered>3</MaxTimesRedelivered>
                  <TimeToLive>0</TimeToLive>
               </DLQConfig>
            </MDBConfig>
         </proxy-factory-config>
      </invoker-proxy-binding>   
    
        <invoker-proxy-binding>
         <name>workflow-message-driven-bean-max1-dlq</name>
         <invoker-mbean>default</invoker-mbean>
 
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
         <proxy-factory-config>
 
<JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>
 
<ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
            <MaximumSize>1</MaximumSize>
            <MaxMessages>1</MaxMessages>
            <MDBConfig>
               <ReconnectIntervalSec>10</ReconnectIntervalSec>
               <DLQConfig>
                  <DestinationQueue>queue/DLQ</DestinationQueue>
                  <MaxTimesRedelivered>3</MaxTimesRedelivered>
                  <TimeToLive>0</TimeToLive>
               </DLQConfig>
            </MDBConfig>
         </proxy-factory-config>
      </invoker-proxy-binding>         
      
   </invoker-proxy-bindings>

   <container-configurations>

   <!-- **** WorkFlowEngine specific container configurations **** -->
      
   <!-- SingleThreaded Message Driven Bean is used by the WorkflowDQLMDB -->
          <container-configuration>
         <container-name>SingleThreaded Message Driven Bean</container-name>
         <call-logging>false</call-logging>
 
<invoker-proxy-binding-name>workflow-message-driven-bean-max1-dlq</invoker-p
roxy-binding-name>
         <container-interceptors>
 
<interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</intercepto
r>
            <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
 
<interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
            <!-- CMT -->
            <interceptor
transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
            <interceptor transaction="Container"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
            <interceptor
transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceIntercept
or</interceptor>
            <!-- BMT -->
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</i
nterceptor>
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</inte
rceptor>
            <interceptor transaction="Bean"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
 
<interceptor>org.jboss.resource.connectionmanager.CachedConnectionIntercepto
r</interceptor>
         </container-interceptors>
 
<instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-poo
l>
         <instance-cache></instance-cache>
         <persistence-manager></persistence-manager>
         <container-pool-conf>
             <MaximumSize>1</MaximumSize>
             <MinimumSize>1</MinimumSize>
             <strictMaximumSize>true</strictMaximumSize>
          </container-pool-conf>        
      </container-configuration>
      
      <!-- Workflow SingleThreaded Message Driven Bean is used by the
returner MDB -->
          <container-configuration>
         <container-name>Workflow SingleThreaded Message Driven
Bean</container-name>
         <call-logging>false</call-logging>
 
<invoker-proxy-binding-name>workflow-message-driven-bean-max1</invoker-proxy
-binding-name>
         <container-interceptors>
 
<interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</intercepto
r>
            <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
 
<interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
            <!-- CMT -->
            <interceptor
transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
            <interceptor transaction="Container"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
            <interceptor
transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceIntercept
or</interceptor>
            <!-- BMT -->
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</i
nterceptor>
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</inte
rceptor>
            <interceptor transaction="Bean"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
 
<interceptor>org.jboss.resource.connectionmanager.CachedConnectionIntercepto
r</interceptor>
         </container-interceptors>
 
<instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-poo
l>
         <instance-cache></instance-cache>
         <persistence-manager></persistence-manager>
         <container-pool-conf>
             <MaximumSize>1</MaximumSize>
             <MinimumSize>1</MinimumSize>
             <strictMaximumSize>true</strictMaximumSize>
          </container-pool-conf>        
      </container-configuration>      
      
      <!-- Workflow Message Driven Bean will be used by all WorkFlowEngine
related MDBs -->
          <container-configuration>
         <container-name>Workflow Standard Message Driven
Bean</container-name>
         <call-logging>false</call-logging>
 
<invoker-proxy-binding-name>workflow-message-driven-bean</invoker-proxy-bind
ing-name>
         <container-interceptors>
 
<interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</intercepto
r>
            <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
 
<interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
            <!-- CMT -->
            <interceptor
transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
            <interceptor transaction="Container"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
            <interceptor
transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceIntercept
or</interceptor>
            <!-- BMT -->
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</i
nterceptor>
            <interceptor
transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</inte
rceptor>
            <interceptor transaction="Bean"
metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
 
<interceptor>org.jboss.resource.connectionmanager.CachedConnectionIntercepto
r</interceptor>
         </container-interceptors>
 
<instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-poo
l>
         <instance-cache></instance-cache>
         <persistence-manager></persistence-manager>
         <container-pool-conf>
             <MaximumSize>100</MaximumSize>
             <MinimumSize>1</MinimumSize>
             <strictMaximumSize>true</strictMaximumSize>
          </container-pool-conf>        
      </container-configuration> 
   </container-configurations>

I found that if I increase the maximum size of the
workflow-message-driven-bean invoker from 15 to 100, I occasionally get the
out of session resources and it has the StdJMSPool name in the error
message.  Should these two numbers pretty much always be the same for the
MaxSize?  I noticed in the default ones that ship with JBoss, that the
container-pool-conf is set to 100, but the invoker proxy-binding is set to
only use 15.  Why 100 and not 15 for the container-pool-conf?

Dustin


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to