Package com.orchestranetworks.d3
Class D3NodeFactory
java.lang.Object
com.orchestranetworks.d3.D3NodeFactory
Factory for creating a D3 engine depending on the node type chosen (primary or replica), which offers D3
administrative functionalities.
To avoid an IllegalArgumentException, verify that the node type is correct before instantiating engines.
This can be checked in the property ebx.d3.mode in the ebx.properties file, or
using the methods isMasterNode() and isSlaveNode().
Depending on the type of the node, only some methods may be accessible.
-
If a
masternode, onlycreateForMasterFromSession(Session)is accessible. -
If a
slavenode, onlycreateForSlaveFromSession(Session)is accessible. -
If a
hub, both methods are accessible. -
If a
singlenode, that is, if D3 is deactivated, none of the methods are accessible.
- Since:
- 5.4.2
-
Method Summary
Modifier and TypeMethodDescriptioncreateForMasterFromSession(Session aSession) Creates a primary D3 engine to offer primary administrative functionalities.createForSlaveFromSession(Session aSession) Creates a replica D3 engine to offer replica administrative functionalities.Returns currentD3Nodeof the EBX® instance.static D3NodeFactorygetInstance(Repository aRepository) Get a D3 engine factory.booleanReturns whether the current node is a primary node.booleanReturns whether the current node is a replica node.
-
Method Details
-
getInstance
Get a D3 engine factory.- Parameters:
aRepository- repository in which D3 is running- Throws:
NullPointerException- if no repository is defined.
-
createForMasterFromSession
Creates a primary D3 engine to offer primary administrative functionalities.- Parameters:
aSession- current user session- Throws:
IllegalStateException- if called within aBatchor if not inmasterorhubnode.- Since:
- 5.4.2
-
createForSlaveFromSession
Creates a replica D3 engine to offer replica administrative functionalities.- Parameters:
aSession- current user session- Throws:
IllegalStateException- if called within aBatchor if not inslaveorhubnode.- Since:
- 5.4.2
-
getCurrentD3Node
Returns currentD3Nodeof the EBX® instance. This can be invoked to perform read-only operations without aSession.If D3 mode is defined as
single, thennullis returned.- Since:
- 5.5.1
- See Also:
-
isMasterNode
public boolean isMasterNode()Returns whether the current node is a primary node.If
true, a primary engine can be created using the methodcreateForMasterFromSession(Session).- Since:
- 5.4.2
-
isSlaveNode
public boolean isSlaveNode()Returns whether the current node is a replica node.If
true, a replica engine can be created using the methodcreateForSlaveFromSession(Session).- Since:
- 5.4.2
-