linux - Jboss AS 7.1.1 ejb 3 : EJB pool error -


we have application running on jboss 7.1.1 , uses ejb 3. intermittently seeing following errors

javax.ejb.ejbexception: jbas014516: failed acquire permit within 5 minutes @ org.jboss.as.ejb3.pool.strictmax.strictmaxpool.get(strictmaxpool.java:109) @ org.jboss.as.ejb3.component.pool.pooledinstanceinterceptor.processinvocation(pooledinstanceinterceptor.java:47) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ejb3.remote.ejbremotetransactionpropagatinginterceptor.processinvocation(ejbremotetransactionpropagatinginterceptor.java:8 0) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ejb3.component.interceptors.currentinvocationcontextinterceptor.processinvocation(currentinvocationcontextinterceptor.java :41) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ejb3.component.interceptors.logginginterceptor.processinvocation(logginginterceptor.java:59) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ee.component.namespacecontextinterceptor.processinvocation(namespacecontextinterceptor.java:50) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ejb3.component.interceptors.additionalsetupinterceptor.processinvocation(additionalsetupinterceptor.java:32) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.as.ee.component.tcclinterceptor.processinvocation(tcclinterceptor.java:45) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) @ org.jboss.invocation.chainedinterceptor.processinvocation(chainedinterceptor.java:61) @ org.jboss.as.ee.component.viewservice$view.invoke(viewservice.java:165) @ org.jboss.as.ejb3.remote.localejbreceiver.processinvocation(localejbreceiver.java:179) @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:179) @ org.jboss.ejb.client.transactioninterceptor.handleinvocation(transactioninterceptor.java:43) @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:181) @ org.jboss.ejb.client.receiverinterceptor.handleinvocation(receiverinterceptor.java:128) @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:181) @ org.jboss.ejb.client.ejbinvocationhandler.doinvoke(ejbinvocationhandler.java:136) @ org.jboss.ejb.client.ejbinvocationhandler.doinvoke(ejbinvocationhandler.java:121) @ org.jboss.ejb.client.ejbinvocationhandler.invoke(ejbinvocationhandler.java:104)

below configuration ejb subsystem in standalone.xml

<subsystem xmlns="urn:jboss:domain:ejb3:1.2">         <session-bean>             <stateless>                 <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>             </stateless>             <stateful default-access-timeout="5000" cache-ref="simple"/>             <singleton default-access-timeout="5000"/>         </session-bean>         <mdb>             <resource-adapter-ref resource-adapter-name="hornetq-ra"/>             <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>         </mdb>         <pools>             <bean-instance-pools>                 <strict-max-pool name="slsb-strict-max-pool" max-pool-size="40" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="minutes"/>                 <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="minutes"/>             </bean-instance-pools>         </pools>         <caches>             <cache name="simple" aliases="nopassivationcache"/>             <cache name="passivating" passivation-store-ref="file" aliases="simplestatefulcache"/>         </caches>         <passivation-stores>             <file-passivation-store name="file"/>         </passivation-stores>         <async thread-pool-name="default"/>         <timer-service thread-pool-name="default">             <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>         </timer-service>         <remote connector-ref="remoting-connector" thread-pool-name="default"/>         <thread-pools>             <thread-pool name="default">                 <max-threads count="10"/>                 <keepalive-time time="100" unit="milliseconds"/>             </thread-pool>         </thread-pools>     </subsystem>     <subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="hibernate">         <cache-container name="hibernate" default-cache="local-query">             <local-cache name="entity">                 <transaction mode="non_xa"/>                 <eviction strategy="lru" max-entries="10000"/>                 <expiration max-idle="100000"/>             </local-cache>             <local-cache name="local-query">                 <transaction mode="none"/>                 <eviction strategy="lru" max-entries="10000"/>                 <expiration max-idle="100000"/>             </local-cache>             <local-cache name="timestamps">                 <transaction mode="none"/>                 <eviction strategy="none"/>             </local-cache>         </cache-container>     </subsystem> 

we trying troubleshoot may causing issue , fix it.

this happens, when configured ejb pool exhausted - means ejbs "in use" (=processing). long running invocations within ejbs. seems invocations take longer 5 minutes in case.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -