Class WriteableBeanDatabaseImpl.TwoPhaseResourceImpl
java.lang.Object
org.glassfish.hk2.configuration.hub.internal.WriteableBeanDatabaseImpl.TwoPhaseResourceImpl
- All Implemented Interfaces:
TwoPhaseResource
- Enclosing class:
WriteableBeanDatabaseImpl
private class WriteableBeanDatabaseImpl.TwoPhaseResourceImpl
extends Object
implements TwoPhaseResource
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
activateDynamicConfiguration
(TwoPhaseTransactionData dynamicConfiguration) Once all TwoPhaseResource prepare methods have completed successfully the activate method will be called on all registered TwoPhaseResource implementations.void
prepareDynamicConfiguration
(TwoPhaseTransactionData dynamicConfiguration) This method is called prior to any changes being made to theServiceLocator
but after the IdempotentFilters are called.void
rollbackDynamicConfiguration
(TwoPhaseTransactionData dynamicConfiguration) If any TwoPhaseResource fails then all TwoPhaseResources that successfully completed their prepare method will get this method invoked.
-
Field Details
-
completedListeners
-
-
Constructor Details
-
TwoPhaseResourceImpl
private TwoPhaseResourceImpl()
-
-
Method Details
-
prepareDynamicConfiguration
public void prepareDynamicConfiguration(TwoPhaseTransactionData dynamicConfiguration) throws MultiException Description copied from interface:TwoPhaseResource
This method is called prior to any changes being made to theServiceLocator
but after the IdempotentFilters are called. If this method throws any exception the entire transaction will not go forward and the thrown exception will be thrown back to the caller. If this method completes successfully then either the commit or rollback methods will be called eventually once the final outcome of the transaction has been established. This method is called with the write lock of the ServiceLocator held- Specified by:
prepareDynamicConfiguration
in interfaceTwoPhaseResource
- Parameters:
dynamicConfiguration
- Information about the dynamic configuration for which this resource was registered- Throws:
MultiException
- If for some reason the transaction can not go through the expected exception is a MultiException with enclosed exceptions detailing the reasons why the transaction cannot complete. No subsequent TwoPhaseResource listeners will be invoked once any TwoPhaseResource throws any exception
-
activateDynamicConfiguration
Description copied from interface:TwoPhaseResource
Once all TwoPhaseResource prepare methods have completed successfully the activate method will be called on all registered TwoPhaseResource implementations. Any exception from this method will be ignored (though they will be logged if debug logging is turned on). This method is called after the write lock has been released and all other listeners have been called- Specified by:
activateDynamicConfiguration
in interfaceTwoPhaseResource
- Parameters:
dynamicConfiguration
- Information about the dynamic configuration for which this resource was registered
-
rollbackDynamicConfiguration
Description copied from interface:TwoPhaseResource
If any TwoPhaseResource fails then all TwoPhaseResources that successfully completed their prepare method will get this method invoked. Any exceptions from this method will be ignored (though they will be logged if debugging is turned on). This method is called with the write lock of the ServiceLocator held- Specified by:
rollbackDynamicConfiguration
in interfaceTwoPhaseResource
- Parameters:
dynamicConfiguration
- Information about the dynamic configuration for which this resource was registered
-