0 Replies Latest reply on May 30, 2006 11:42 AM by andreaseck

    Caching of BMP Entity Beans

    andreaseck

      Hi,
      we are using BMP Entity Beans (EJB 1.1) on JBoss 4.0.3 SP1.
      Here the configuration from standardjboss.xml:

      <container-configuration>
       <container-name>Standard BMP EntityBean</container-name>
       <call-logging>false</call-logging>
       <invoker-proxy-binding-name>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>
       <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
       <interceptor>org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.EntityCreationInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.EntityLockInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.EntityInstanceInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.EntityReentranceInterceptor</interceptor>
       <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.EntitySynchronizationInterceptor</interceptor>
       </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>3600</overager-period>
       <max-bean-age>18000</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>
       <MaximumSize>100</MaximumSize>
       </container-pool-conf>
       <commit-option>C</commit-option>
       </container-configuration>

      It seems that I get always the same object, when I call create or ejbFindByPrimaryKey, i.e. there is only one instance. To be more concrete, the fields of the bean are not empty when the ejbCreate method is invoked.
      Is that the way JBoss handles BMP Entity Beans, or is there a mistake in our implementation?

      Thanks,
      Andreas