4 Replies Latest reply on Dec 24, 2005 10:19 AM by tom.elrod

    How to convert jrmp to pooled

    prdspt

      I'm using JBoss 4.0.2 for a testing activity. i was in an understanding that RMI has a limitation of creating new threads for every request. I would like to limit it with the use of "pooled" instead of "jrmp" to improve performance. I tried changing a couple of values as mentioned in the PooledInvokerConfig link in the jboss site but it was throwing an error

      17:27:57,763 WARN [WebappClassLoader] Failed to open JAR
      java.util.zip.ZipException: No such file or directory
      at java.util.zip.ZipFile.open(Native Method)
      at java.util.zip.ZipFile.(ZipFile.java:112)
      at java.util.jar.JarFile.(JarFile.java:127)
      at java.util.jar.JarFile.(JarFile.java:92)
      at org.apache.catalina.loader.WebappClassLoader.openJARs(WebappClassLoader.java:1544)
      at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:1763)
      at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1570)
      at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
      at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:190)
      at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:216)
      at org.apache.struts.config.ApplicationConfig.getProcessor(ApplicationConfig.java:225)
      at org.apache.struts.action.ActionServlet.destroyApplications(ActionServlet.java:654)
      at org.apache.struts.action.ActionServlet.destroy(ActionServlet.java:392)
      at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1316)
      at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1651)
      at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:892)
      at org.apache.catalina.core.StandardContext.removeChild(StandardContext.java:3035)
      at org.apache.catalina.startup.ContextConfig.stop(ContextConfig.java:1083)
      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:271)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4265)
      at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1065)
      at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1065)
      at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447)
      at org.jboss.web.tomcat.tc5.StandardService.stop(StandardService.java:610)
      at org.apache.catalina.core.StandardServer.stop(StandardServer.java:717)
      at org.apache.catalina.startup.Catalina.stop(Catalina.java:586)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
      at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:150)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      at org.jboss.web.tomcat.tc5.Tomcat5.stopService(Tomcat5.java:441)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:320)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:224)
      at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:897)
      at $Proxy0.stop(Unknown Source)
      at org.jboss.system.ServiceController.stop(ServiceController.java:507)
      at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy4.stop(Unknown Source)
      at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:307)
      at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:632)
      at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:605)
      at org.jboss.deployment.MainDeployer.shutdown(MainDeployer.java:492)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:121)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      at org.jboss.system.server.ServerImpl$ShutdownHook.shutdownDeployments(ServerImpl.java:952)
      at org.jboss.system.server.ServerImpl$ShutdownHook.shutdown(ServerImpl.java:927)
      at org.jboss.system.server.ServerImpl$ShutdownHook.run(ServerImpl.java:915)


      Can someone help me in resolving this issue? Am I missing out some file here?

        • 1. Re: How to convert jrmp to pooled

          This stack trace has nothing to do with making an ejb invocation (which is where the jrmp or pooled invoker would be used). It looks like is a stace trace when shutting down and struts is barfing:

           at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:190)
          at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:216)
          at org.apache.struts.config.ApplicationConfig.getProcessor(ApplicationConfig.java:225)
          at org.apache.struts.action.ActionServlet.destroyApplications(ActionServlet.java:654)
          


          • 2. Re: How to convert jrmp to pooled
            prdspt

            Hi Tom,
            I get this trace when the system tries to start and shuts down automatically when I changed the configuration from jrmp to pooled.
            The modified standardjboss.xml is like this:

            <?xml version="1.0" encoding="UTF-8"?>

            <!DOCTYPE jboss PUBLIC
            "-//JBoss//DTD JBOSS 4.0//EN"
            "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

            <!-- ===================================================================== -->
            <!-- Standard JBoss EJB Configurations -->
            <!-- ===================================================================== -->
            <!-- $Id: standardjboss.xml,v 1.88.2.6 2005/04/05 18:58:50 ejort Exp $ -->


            <enforce-ejb-restrictions>false</enforce-ejb-restrictions>

            <invoker-proxy-bindings>

            <invoker-proxy-binding>
            entity-pooled-invoker
            <invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.EntityInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            <list-entity>
            org.jboss.proxy.ejb.ListEntityInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor
            </list-entity>
            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            clustered-entity-rmi-invoker
            <invoker-mbean>jboss:service=invoker,type=jrmpha</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.EntityInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            <list-entity>
            org.jboss.proxy.ejb.ListEntityInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor
            </list-entity>
            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            stateless-pooled-invoker
            <invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.StatelessSessionInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            clustered-stateless-rmi-invoker
            <invoker-mbean>jboss:service=invoker,type=jrmpha</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.StatelessSessionInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            stateful-pooled-invoker
            <invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.StatefulSessionInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            clustered-stateful-rmi-invoker
            <invoker-mbean>jboss:service=invoker,type=jrmpha</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-factory>
            <proxy-factory-config>
            <client-interceptors>

            org.jboss.proxy.ejb.HomeInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor


            org.jboss.proxy.ejb.StatefulSessionInterceptor
            org.jboss.proxy.SecurityInterceptor
            org.jboss.proxy.TransactionInterceptor
            <interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor
            <interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor

            </client-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            message-driven-bean
            <invoker-mbean>default</invoker-mbean>
            <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
            <proxy-factory-config>
            DefaultJMSProvider
            StdJMSPool
            true
            <!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->
            1
            15
            30000
            1

            10

            queue/DLQ
            10
            0


            </proxy-factory-config>
            </invoker-proxy-binding>

            <!-- Uncomment to use JMS message inflow from jmsra.rar
            <invoker-proxy-binding>
            message-driven-bean
            <invoker-mbean>default</invoker-mbean>
            <proxy-factory>org.jboss.ejb.plugins.inflow.JBossJMSMessageEndpointFactory</proxy-factory>
            <proxy-factory-config>
            <activation-config>
            <activation-config-property>
            <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
            <activation-config-property-value>DefaultJMSProvider</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>minSession</activation-config-property-name>
            <activation-config-property-value>1</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>maxSession</activation-config-property-name>
            <activation-config-property-value>15</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>keepAlive</activation-config-property-name>
            <activation-config-property-value>60000</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>maxMessages</activation-config-property-name>
            <activation-config-property-value>1</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>reconnectInterval</activation-config-property-name>
            <activation-config-property-value>10</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>useDLQ</activation-config-property-name>
            <activation-config-property-value>true</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQHandler</activation-config-property-name>
            <activation-config-property-value>org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQJNDIName</activation-config-property-name>
            <activation-config-property-value>queue/DLQ</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQMaxResent</activation-config-property-name>
            <activation-config-property-value>10</activation-config-property-value>
            </activation-config-property>
            </activation-config>
            <endpoint-interceptors>
            org.jboss.proxy.ClientMethodInterceptor
            org.jboss.ejb.plugins.inflow.MessageEndpointInterceptor
            org.jboss.proxy.TransactionInterceptor
            org.jboss.invocation.InvokerInterceptor
            </endpoint-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>
            -->

            <invoker-proxy-binding>
            singleton-message-driven-bean
            <invoker-mbean>default</invoker-mbean>
            <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
            <proxy-factory-config>
            DefaultJMSProvider
            StdJMSPool
            true
            <!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->
            1
            1
            30000
            1

            10

            queue/DLQ
            10
            0


            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            message-inflow-driven-bean
            <invoker-mbean>default</invoker-mbean>
            <proxy-factory>org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory</proxy-factory>
            <proxy-factory-config>
            <endpoint-interceptors>
            org.jboss.proxy.ClientMethodInterceptor
            org.jboss.ejb.plugins.inflow.MessageEndpointInterceptor
            org.jboss.proxy.TransactionInterceptor
            org.jboss.invocation.InvokerInterceptor
            </endpoint-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            iiop
            <invoker-mbean>jboss:service=invoker,type=iiop</invoker-mbean>
            <proxy-factory>org.jboss.proxy.ejb.IORFactory</proxy-factory>
            <proxy-factory-config>
            <web-class-loader>org.jboss.iiop.WebCL</web-class-loader>
            per-servant
            <register-ejbs-in-jnp-context>true</register-ejbs-in-jnp-context>
            <jnp-context>iiop</jnp-context>
            <interface-repository-supported>false</interface-repository-supported>
            </proxy-factory-config>
            </invoker-proxy-binding>

            <invoker-proxy-binding>
            jms-message-inflow-driven-bean
            <invoker-mbean>default</invoker-mbean>
            <proxy-factory>org.jboss.ejb.plugins.inflow.JBossJMSMessageEndpointFactory</proxy-factory>
            <proxy-factory-config>
            <activation-config>
            <activation-config-property>
            <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
            <activation-config-property-value>DefaultJMSProvider</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>minSession</activation-config-property-name>
            <activation-config-property-value>1</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>maxSession</activation-config-property-name>
            <activation-config-property-value>15</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>keepAlive</activation-config-property-name>
            <activation-config-property-value>60000</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>maxMessages</activation-config-property-name>
            <activation-config-property-value>1</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>reconnectInterval</activation-config-property-name>
            <activation-config-property-value>10</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>useDLQ</activation-config-property-name>
            <activation-config-property-value>true</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQHandler</activation-config-property-name>
            <activation-config-property-value>org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQJNDIName</activation-config-property-name>
            <activation-config-property-value>queue/DLQ</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
            <activation-config-property-name>DLQMaxResent</activation-config-property-name>
            <activation-config-property-value>10</activation-config-property-value>
            </activation-config-property>
            </activation-config>
            <endpoint-interceptors>
            org.jboss.proxy.ClientMethodInterceptor
            org.jboss.ejb.plugins.inflow.MessageEndpointInterceptor
            org.jboss.proxy.TransactionInterceptor
            org.jboss.invocation.InvokerInterceptor
            </endpoint-interceptors>
            </proxy-factory-config>
            </invoker-proxy-binding>
            </invoker-proxy-bindings>

            <container-configurations>

            <container-configuration>
            <container-name>Standard CMP 2.x EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <call-ejb-store-on-clean>true</call-ejb-store-on-clean>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.InvalidableEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>B</commit-option>
            </container-configuration>

            <container-configuration>
            <!--
            | This is like standard IPT but with global (cross-transactional) row cache behind,
            | i.e. no locking in EJB layer + global persistence data cache
            -->
            <container-name>cmp2.x jdbc2 pm</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>true</insert-after-ejb-post-create>
            <call-ejb-store-on-clean>true</call-ejb-store-on-clean>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            org.jboss.ejb.plugins.cmp.jdbc2.RelationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.PerTxEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc2.JDBCStoreManager2</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.NoLock</locking-policy>
            <container-cache-conf>
            <cache-policy-conf>
            <min-capacity>500</min-capacity>
            <max-capacity>10000</max-capacity>
            </cache-policy-conf>
            <cache-policy-conf-other>
            10
            <!-- uncomment to use JDBC java.sql.Statement.executeBatch()
            <batch-commit-strategy/>
            -->
            </cache-policy-conf-other>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>C</commit-option> <!-- don't change, irrelevant, use container-cache-conf -->
            </container-configuration>

            <container-configuration>
            <container-name>Clustered CMP 2.x EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>clustered-entity-rmi-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.CleanShutdownInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>B</commit-option>
            <cluster-config>
            <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
            </cluster-config>
            </container-configuration>

            <container-configuration>
            <container-name>Standard CMP 2.x EntityBean with cache invalidation</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            org.jboss.cache.invalidation.triggers.EntityBeanCacheBatchInvalidatorInterceptor
            org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.InvalidableEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>A</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Instance Per Transaction CMP 2.x EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.PerTxEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.NoLock</locking-policy>
            <container-cache-conf/>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>C</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Standard CMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>A</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Clustered CMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>clustered-entity-rmi-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.CleanShutdownInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>A</commit-option>
            <cluster-config>
            <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
            </cluster-config>
            </container-configuration>

            <container-configuration>
            <container-name>Instance Per Transaction CMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.PerTxEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.NoLock</locking-policy>
            <container-cache-conf/>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>C</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Standard Stateless SessionBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>stateless-pooled-invoker</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.webservice.server.ServiceEndpointInterceptor
            org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor
            org.jboss.ejb.plugins.TxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.webservice.server.ServiceEndpointInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
            <instance-cache></instance-cache>
            <persistence-manager></persistence-manager>
            <container-pool-conf>
            100
            </container-pool-conf>
            </container-configuration>

            <container-configuration>
            <container-name>Clustered Stateless SessionBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>clustered-stateless-rmi-invoker</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.CleanShutdownInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.webservice.server.ServiceEndpointInterceptor
            org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor
            org.jboss.ejb.plugins.TxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.webservice.server.ServiceEndpointInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
            <instance-cache></instance-cache>
            <persistence-manager></persistence-manager>
            <container-pool-conf>
            100
            </container-pool-conf>
            <cluster-config>
            <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
            </cluster-config>
            </container-configuration>


            <container-configuration>
            <container-name>Standard Stateful SessionBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>stateful-pooled-invoker</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor
            org.jboss.ejb.plugins.TxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            </container-interceptors>
            <instance-cache>org.jboss.ejb.plugins.StatefulSessionInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager</persistence-manager>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <remover-period>1800</remover-period>
            <max-bean-life>1800</max-bean-life>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            </container-configuration>

            <container-configuration>
            <container-name>Clustered Stateful SessionBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>clustered-stateful-rmi-invoker</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.CleanShutdownInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor
            org.jboss.ejb.plugins.TxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.StatefulHASessionSynchronisationInterceptor
            </container-interceptors>
            <instance-cache>org.jboss.ejb.plugins.StatefulHASessionInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.StatefulHASessionPersistenceManager</persistence-manager>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <remover-period>1800</remover-period>
            <max-bean-life>1800</max-bean-life>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <cluster-config>
            <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
            </cluster-config>
            </container-configuration>

            <container-configuration>
            <container-name>Standard BMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.BMPPersistenceManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>A</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Clustered BMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>clustered-entity-rmi-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.CleanShutdownInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.EntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.BMPPersistenceManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock</locking-policy>
            <container-cache-conf>
            <cache-policy>org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy</cache-policy>
            <cache-policy-conf>
            <min-capacity>50</min-capacity>
            <max-capacity>1000000</max-capacity>
            <overager-period>300</overager-period>
            <max-bean-age>600</max-bean-age>
            <resizer-period>400</resizer-period>
            <max-cache-miss-period>60</max-cache-miss-period>
            <min-cache-miss-period>1</min-cache-miss-period>
            <cache-load-factor>0.75</cache-load-factor>
            </cache-policy-conf>
            </container-cache-conf>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>A</commit-option>
            <cluster-config>
            <partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
            </cluster-config>
            </container-configuration>

            <container-configuration>
            <container-name>Instance Per Transaction BMP EntityBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>entity-pooled-invoker</invoker-proxy-binding-name>
            <sync-on-commit-only>false</sync-on-commit-only>
            <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.SecurityInterceptor
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.EntityCreationInterceptor
            org.jboss.ejb.plugins.EntityLockInterceptor
            org.jboss.ejb.plugins.EntityInstanceInterceptor
            org.jboss.ejb.plugins.EntityReentranceInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            org.jboss.ejb.plugins.EntitySynchronizationInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
            <instance-cache>org.jboss.ejb.plugins.PerTxEntityInstanceCache</instance-cache>
            <persistence-manager>org.jboss.ejb.plugins.BMPPersistenceManager</persistence-manager>
            <locking-policy>org.jboss.ejb.plugins.lock.NoLock</locking-policy>
            <container-cache-conf/>
            <container-pool-conf>
            100
            </container-pool-conf>
            <commit-option>C</commit-option>
            </container-configuration>

            <container-configuration>
            <container-name>Standard Message Driven Bean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>message-driven-bean</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.RunAsSecurityInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
            <instance-cache></instance-cache>
            <persistence-manager></persistence-manager>
            <container-pool-conf>
            100
            </container-pool-conf>
            </container-configuration>

            <container-configuration>
            <container-name>Singleton Message Driven Bean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>singleton-message-driven-bean</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.RunAsSecurityInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
            <instance-cache></instance-cache>
            <persistence-manager></persistence-manager>
            <container-pool-conf>
            100
            </container-pool-conf>
            </container-configuration>

            <container-configuration>
            <container-name>Standard Message Inflow Driven Bean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>message-inflow-driven-bean</invoker-proxy-binding-name>
            <container-interceptors>
            org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
            org.jboss.ejb.plugins.LogInterceptor
            org.jboss.ejb.plugins.RunAsSecurityInterceptor
            <!-- CMT -->
            org.jboss.ejb.plugins.TxInterceptorCMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            <!-- BMT -->
            org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
            org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
            org.jboss.ejb.plugins.CallValidationInterceptor
            org.jboss.resource.connectionmanager.CachedConnectionInterceptor
            </container-interceptors>
            <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
            <instance-cache></instance-cache>
            <persistence-manager></persistence-manager>
            <container-pool-conf>
            100
            </container-pool-conf>
            </container-configuration>

            </container-configurations>




            Please let me know if there needs to be any more changes I need to make elsewhere.

            • 3. Re: How to convert jrmp to pooled
              prdspt

              Hi all, is there a way to convert the rmi into a pool at all? I'm able to start the server but from the client, if I try contacting the bean from the server, I'm getting a SocketException (Connection reset):
              java.lang.reflect.UndeclaredThrowableException
              at $Proxy57.create(Unknown Source)
              at org.apache.jsp.Test_jsp._jspService(org.apache.jsp.Test_jsp:79)
              at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
              at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
              at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
              at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: java.net.SocketException: Connection reset
              at java.net.SocketInputStream.read(SocketInputStream.java:168)
              at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
              at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
              at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
              at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2217)
              at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2230)
              at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
              at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
              at java.io.ObjectInputStream.(ObjectInputStream.java:268)
              at org.jboss.invocation.pooled.interfaces.OptimizedObjectInputStream.(OptimizedObjectInputStream.java:121)
              at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy$ClientSocket.(PooledInvokerProxy.java:111)
              at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy.getConnection(PooledInvokerProxy.java:250)
              at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy.invoke(PooledInvokerProxy.java:322)
              at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:227)
              at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:167)
              at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
              at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
              at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:169)
              at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
              ... 27 more


              The previous posts were also stopping at the same point. With the normal jrmp configuration it works fine but not with the pooled configuration. Please help me out.

              • 4. Re: How to convert jrmp to pooled

                The standardjboss.xml can not be changed during runtime (at least won't be picked up by the server until restart).

                I can't tell from the stack trace what the problem is. I few pointers would be:

                1. If running clustered nodes, make sure are all using pooled invoker.
                2. Make sure pooled invoker is actually running (i.e. make sure the jboss:service=invoker,type=pooled is actually decalred in jboss-service.xml (or in some other service.xml) and is running.