package org.jboss.loom.migrators.ejb3;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.eclipse.persistence.oxm.annotations.XmlPath;
import org.jboss.loom.migrators.OriginWiseJaxbBase;
import org.jboss.loom.spi.ann.ConfigPartDescriptor;
/**
* Docs: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/5/html-single/Administration_And_Configuration_Guide/index.html#Container_configuration_information-The_jboss_4_0_DTD_elements_related_to_container_configuration.
<container-configuration>
<container-name>Clustered CMP 2.x EntityBean</container-name>
<call-logging>false</call-logging>
<invoker-proxy-binding-name>clustered-entity-unified-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>
</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.cmp.jdbc.JDBCStoreManager</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>300</overager-period>
<max-bean-age>600</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>B</commit-option>
<cluster-config>
<partition-name>${jboss.partition.name:DefaultPartition}</partition-name>
<home-load-balance-policy>org.jboss.ha.framework.interfaces.RoundRobin</home-load-balance-policy>
<bean-load-balance-policy>org.jboss.ha.framework.interfaces.FirstAvailable</bean-load-balance-policy>
</cluster-config>
</container-configuration>
*
* @author Ondrej Zizka, ozizka at redhat.com
*/
@ConfigPartDescriptor(
name = "EJB container ${containerName}"
)
@XmlRootElement(name = "container-configuration")
public class ContainerConfigBean extends OriginWiseJaxbBase<ContainerConfigBean> {
@XmlElement(name="container-name/text()") String containerName;
@XmlElement(name="call-logging/text()") String callLogging;
@XmlElement(name="invoker-proxy-binding-name/text()") String invokerProxyBindingName;
@XmlElement(name="sync-on-commit-only/text()") String syncOnCommitOnly;
@XmlElement(name="insert-after-ejb-post-create/text()") String insertAfterEjbPostCreate;
@XmlElement(name="locking-policy/text()") String lockingPolicy;
// Cache config
private CacheConfig cache;
// Pool config
@XmlPath("container-pool-conf/MaximumSize/text()")
private String poolMaximumSize; // 100
// Commit option
@XmlPath("commit-option/text()")
private String commitOption; // B
//<editor-fold defaultstate="collapsed" desc="get/set">
public String getContainerName() { return containerName; }
public void setContainerName( String containerName ) { this.containerName = containerName; }
public String getCallLogging() { return callLogging; }
public void setCallLogging( String callLogging ) { this.callLogging = callLogging; }
public String getInvokerProxyBindingName() { return invokerProxyBindingName; }
public void setInvokerProxyBindingName( String invokerProxyBindingName ) { this.invokerProxyBindingName = invokerProxyBindingName; }
public String getSyncOnCommitOnly() { return syncOnCommitOnly; }
public void setSyncOnCommitOnly( String syncOnCommitOnly ) { this.syncOnCommitOnly = syncOnCommitOnly; }
public String getInsertAfterEjbPostCreate() { return insertAfterEjbPostCreate; }
public void setInsertAfterEjbPostCreate( String insertAfterEjbPostCreate ) { this.insertAfterEjbPostCreate = insertAfterEjbPostCreate; }
public String getLockingPolicy() { return lockingPolicy; }
public void setLockingPolicy( String lockingPolicy ) { this.lockingPolicy = lockingPolicy; }
public CacheConfig getCache() { return cache; }
public void setCache( CacheConfig cache ) { this.cache = cache; }
public String getPoolMaximumSize() { return poolMaximumSize; }
public void setPoolMaximumSize( String poolMaximumSize ) { this.poolMaximumSize = poolMaximumSize; }
public String getCommitOption() { return commitOption; }
public void setCommitOption( String commitOption ) { this.commitOption = commitOption; }
//</editor-fold>
/**
* Cache config
*/
@XmlRootElement(name = "container-cache-conf")
public static class CacheConfig{
@XmlPath("cache-policy-conf/min-capacity/text()")
private String minCapacity; // 50
@XmlPath("cache-policy-conf/max-capacity/text()")
private String maxCapacity; // 1000000
@XmlPath("cache-policy-conf/overager-period/text()")
private String overagerPeriod; // 300
@XmlPath("cache-policy-conf/max-bean-age/text()")
private String maxBeanAge; // 600
@XmlPath("cache-policy-conf/resizer-period/text()")
private String resizerPeriod; // 400
@XmlPath("cache-policy-conf/max-cache-miss-period/text()")
private String maxCacheMissPeriod; // 60
@XmlPath("cache-policy-conf/min-cache-miss-period/text()")
private String minCacheMissPeriod; // 1
@XmlPath("cache-policy-conf/cache-load-factor/text()")
private String cacheLoadFactor; // 0.75
//<editor-fold defaultstate="collapsed" desc="get/set">
public String getMinCapacity() { return minCapacity; }
public void setMinCapacity( String minCapacity ) { this.minCapacity = minCapacity; }
public String getMaxCapacity() { return maxCapacity; }
public void setMaxCapacity( String maxCapacity ) { this.maxCapacity = maxCapacity; }
public String getOveragerPeriod() { return overagerPeriod; }
public void setOveragerPeriod( String overagerPeriod ) { this.overagerPeriod = overagerPeriod; }
public String getMaxBeanAge() { return maxBeanAge; }
public void setMaxBeanAge( String maxBeanAge ) { this.maxBeanAge = maxBeanAge; }
public String getResizerPeriod() { return resizerPeriod; }
public void setResizerPeriod( String resizerPeriod ) { this.resizerPeriod = resizerPeriod; }
public String getMaxCacheMissPeriod() { return maxCacheMissPeriod; }
public void setMaxCacheMissPeriod( String maxCacheMissPeriod ) { this.maxCacheMissPeriod = maxCacheMissPeriod; }
public String getMinCacheMissPeriod() { return minCacheMissPeriod; }
public void setMinCacheMissPeriod( String minCacheMissPeriod ) { this.minCacheMissPeriod = minCacheMissPeriod; }
public String getCacheLoadFactor() { return cacheLoadFactor; }
public void setCacheLoadFactor( String cacheLoadFactor ) { this.cacheLoadFactor = cacheLoadFactor; }
//</editor-fold>
}
}// class