Class CoreEnvironmentBean

  • All Implemented Interfaces:
    CoreEnvironmentBeanMBean

    public class CoreEnvironmentBean
    extends java.lang.Object
    implements CoreEnvironmentBeanMBean
    A JavaBean containing assorted configuration properties for the core transaction system.
    Author:
    Jonathan Halliday (jonathan.halliday@redhat.com)
    • Constructor Detail

      • CoreEnvironmentBean

        public CoreEnvironmentBean()
    • Method Detail

      • getVarDir

        public java.lang.String getVarDir()
        Returns the 'var' directory path. Default: {user.dir}/var/tmp Equivalent deprecated property: com.arjuna.ats.arjuna.common.varDir
        Specified by:
        getVarDir in interface CoreEnvironmentBeanMBean
        Returns:
        the 'var' directory name.
      • setVarDir

        public void setVarDir​(java.lang.String varDir)
        Sets the 'var' directory path
        Parameters:
        varDir - the path to the 'var' directory.
      • getNodeIdentifier

        public java.lang.String getNodeIdentifier()
        Returns the Node Identifier. Default: null Equivalent deprecated property: com.arjuna.ats.arjuna.nodeIdentifier
        Specified by:
        getNodeIdentifier in interface CoreEnvironmentBeanMBean
        Returns:
        the Node Identifier.
      • setNodeIdentifier

        public void setNodeIdentifier​(java.lang.String nodeIdentifier)
                               throws CoreEnvironmentBeanException
        Sets the node identifier. Should be uniq amongst all instances that share resource managers or an objectstore.
        Parameters:
        nodeIdentifier - the Node Identifier.
        Throws:
        CoreEnvironmentBeanException - if node identifier is null or too long.
      • getSocketProcessIdPort

        public int getSocketProcessIdPort()
        Returns the port number for the Socket based process id implementation. Default: 0 (use any free port) Equivalent deprecated property: com.arjuna.ats.internal.arjuna.utils.SocketProcessIdPort
        Specified by:
        getSocketProcessIdPort in interface CoreEnvironmentBeanMBean
        Returns:
        the port number.
      • setSocketProcessIdPort

        public void setSocketProcessIdPort​(int socketProcessIdPort)
        Sets the port on which the socket based process id implementation will listen. Should be uniq amongst all instances on the same host. A value of 0 will result in a random port.
        Parameters:
        socketProcessIdPort - the port number to bind to.
      • getTimeoutFactor

        public int getTimeoutFactor()
      • setTimeoutFactor

        public void setTimeoutFactor​(int timeoutFactor)
      • getSocketProcessIdMaxPorts

        public int getSocketProcessIdMaxPorts()
        Returns the maximum number of ports to search when looking for one that is free. Default: 1 Equivalent deprecated property: com.arjuna.ats.internal.arjuna.utils.SocketProcessIdMaxPorts
        Specified by:
        getSocketProcessIdMaxPorts in interface CoreEnvironmentBeanMBean
        Returns:
        the maximum number of ports to try.
      • setSocketProcessIdMaxPorts

        public void setSocketProcessIdMaxPorts​(int socketProcessIdMaxPorts)
        Sets the maximum number of ports the socket process id implemention will try when searching to find one that is free.
        Parameters:
        socketProcessIdMaxPorts - the maximum number of ports to try.
      • getProcessImplementationClassName

        public java.lang.String getProcessImplementationClassName()
        Returns the class name of the Process implementation to use. Default: "com.arjuna.ats.internal.arjuna.utils.SocketProcessId" Equivalent deprecated property: com.arjuna.ats.internal.arjuna.utils.processImplementation
        Specified by:
        getProcessImplementationClassName in interface CoreEnvironmentBeanMBean
        Returns:
        the name of a class implementing Process.
      • setProcessImplementationClassName

        public void setProcessImplementationClassName​(java.lang.String processImplementationClassName)
        Sets the class name of the Process implementation to use.
        Parameters:
        processImplementationClassName - the name of a class implementing Process.
      • getProcessImplementation

        public Process getProcessImplementation()
        Returns an instance of a class implementing com.arjuna.ats.arjuna.utils.Process. If there is no pre-instantiated instance set and classloading or instantiation fails, this method will log an appropriate warning and return null, not throw an exception.
        Returns:
        a Process implementation instance, or null.
      • setProcessImplementation

        public void setProcessImplementation​(Process instance)
        Sets the instance of com.arjuna.ats.arjuna.utils.Process
        Parameters:
        instance - an Object that implements Process, or null.
      • getPid

        public int getPid()
        Returns the process id to use if ManualProcessId is selected. Should be uniq across all instances on the same host. Default: -1 (invalid, must be changed if used) Equivalent deprecated property: com.arjuna.ats.internal.arjuna.utils.pid
        Specified by:
        getPid in interface CoreEnvironmentBeanMBean
        Returns:
        the process id to use.
      • setPid

        public void setPid​(int pid)
        Sets the process id to use if ManualProcessId is selected. Should be on the range 1-65535 and uniq across all instances on the same host.
        Parameters:
        pid - the process id to use.
      • isAllowMultipleLastResources

        public boolean isAllowMultipleLastResources()
        Returns if multiple last (i.e. one-phase) resources are allowed in the same transaction or not. Default: false Equivalent deprecated property: com.arjuna.ats.arjuna.allowMultipleLastResources
        Specified by:
        isAllowMultipleLastResources in interface CoreEnvironmentBeanMBean
        Returns:
        true if multiple last resources are permitted, false otherwise.
      • setAllowMultipleLastResources

        public void setAllowMultipleLastResources​(boolean allowMultipleLastResources)
        Sets if multiple last (i.e. one-phase) resources are allowed in the same transaction or not. Caution: setting a value of true weakens transactional (ACID) guarantees and is not recommended.
        Parameters:
        allowMultipleLastResources - true if multiple 1PC resource should be permitted, false otherwise.
      • isDisableMultipleLastResourcesWarning

        public boolean isDisableMultipleLastResourcesWarning()
        Returns if the per-transaction warning on enlistment of multiple last resources is disabled or not. Default: false. Equivalent deprecated property: com.arjuna.ats.arjuna.disableMultipleLastResourcesWarning
        Specified by:
        isDisableMultipleLastResourcesWarning in interface CoreEnvironmentBeanMBean
        Returns:
        true if warning is disabled, false otherwise.
      • setDisableMultipleLastResourcesWarning

        public void setDisableMultipleLastResourcesWarning​(boolean disableMultipleLastResourcesWarning)
        Sets if the per-transaction warning on enlistment of multiple last resource is disabled or not.
        Parameters:
        disableMultipleLastResourcesWarning - true to disable the warning, false otherwise.
      • getBuildVersion

        public java.lang.String getBuildVersion()
        Specified by:
        getBuildVersion in interface CoreEnvironmentBeanMBean
        Returns:
        the version control tag of the source used, or "unknown"
      • getBuildId

        public java.lang.String getBuildId()
        Specified by:
        getBuildId in interface CoreEnvironmentBeanMBean
        Returns:
        the build identification line indicating the os name and version and build date