## org.jboss.ejb.plugins
Class EntityMultiInstanceSynchronizationInterceptor

    java.lang.Object
      |
      +--org.jboss.ejb.plugins.AbstractInterceptor
            |
            +--org.jboss.ejb.plugins.EntitySynchronizationInterceptor
                  |
                  +--org.jboss.ejb.plugins.EntityMultiInstanceSynchronizationInterceptor

All Implemented Interfaces:
  ContainerPlugin, Interceptor, Service

public class EntityMultiInstanceSynchronizationInterceptor
extends EntitySynchronizationInterceptor

The role of this interceptor is to synchronize the state of the cache with the underlying storage. It does this with the ejbLoad and ejbStore semantics of the EJB specification. In the presence of a transaction this is triggered by transaction demarcation. It registers a callback with the underlying transaction monitor through the JTA interfaces. If there is no transaction the policy is to store state upon returning from invocation. The synchronization polices A,B,C of the specification are taken care of here.

WARNING: critical code, get approval from senior developers before changing.

Version:
  $Revision: 1.1.4.4 $

  Revisions:

  2001/08/08: billb

  1. Initial revision
Author:
  Bill Burke

Inner Class Summary
`protected class` `EntityMultiInstanceSynchronizationInterceptor.MultiInstanceSynchronization`

Inner classes inherited from class org.jboss.ejb.plugins.EntitySynchronizationInterceptor
`EntitySynchronizationInterceptor.InstanceSynchronization`

Fields inherited from class org.jboss.ejb.plugins.EntitySynchronizationInterceptor
`commitOption, container, optionDRefreshRate, validContexts`

Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
`log, nextInterceptor`

Constructor Summary
`EntityMultiInstanceSynchronizationInterceptor()`

Method Summary
`protected javax.transaction.Synchronization` `createSynchronization(javax.transaction.Transaction tx, EntityEnterpriseContext ctx)`
`void` `init()`

Methods inherited from class org.jboss.ejb.plugins.EntitySynchronizationInterceptor
`clearContextTx, getContainer, invoke, invokeHome, register, setContainer`

Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor
`destroy, getNext, setNext, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### EntityMultiInstanceSynchronizationInterceptor

    public EntityMultiInstanceSynchronizationInterceptor()

Method Detail

### init

    public void init()
              throws java.lang.Exception

  Overrides:
    `init` in class `EntitySynchronizationInterceptor`

### createSynchronization

    protected javax.transaction.Synchronization createSynchronization(javax.transaction.Transaction tx,
                                                                      EntityEnterpriseContext ctx)

  Overrides:
    `createSynchronization` in class `EntitySynchronizationInterceptor`

Copyright © 2000 The JBoss Organization. All Rights Reserved.