- java.lang.Object
-
- org.tentackle.app.AbstractApplication
-
- org.tentackle.persist.app.AbstractServerApplication
-
- All Implemented Interfaces:
org.tentackle.dbms.ConnectionManagerProvider,org.tentackle.pdo.DomainContextProvider,org.tentackle.session.SessionPoolProvider,org.tentackle.session.SessionProvider
- Direct Known Subclasses:
ServerApplication
public abstract class AbstractServerApplication extends org.tentackle.app.AbstractApplication implements org.tentackle.session.SessionPoolProvider, org.tentackle.dbms.ConnectionManagerProviderBase class for server applications.- Author:
- harald
-
-
Constructor Summary
Constructors Constructor Description AbstractServerApplication(java.lang.String name, java.lang.String version)Creates a server.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidactivateStatistics()protected voidcleanup()protected voidconfigureModificationTracker()protected voidconfigurePreferences()protected voidconfigureSessionInfo(org.tentackle.session.SessionInfo sessionInfo)Configures the session info.protected org.tentackle.dbms.ConnectionManagercreateConnectionManager()Creates the connection manager for the client sessions.org.tentackle.session.SessionPoolcreateSessionPool()Creates the session pool to serve the client sessions.protected voidderegisterJdbcDrivers(java.lang.ClassLoader cl)Deregisters all JDBC-Drivers loaded by the app's classloader.
Necessary in containers only (in case connected directly via JDBC and not via JNDI).protected voiddetectContainer()Detects whether this application is running within a container.
The result can be retrieved byisRunningInContainer().protected voidfinishStartup()org.tentackle.dbms.ConnectionManagergetConnectionManager()org.tentackle.dbms.DbgetSession()org.tentackle.session.SessionPoolgetSessionPool()booleanisRunningInContainer()Indicates whether this application is running within a container.protected booleanisServerImpl()protected booleanisSystemExitNecessaryToStop()protected voidlogin()Connects the server to the database backend.protected voidsetSessionInfo(org.tentackle.session.SessionInfo sessionInfo)protected voidstartup()-
Methods inherited from class org.tentackle.app.AbstractApplication
applyProperties, configure, configureSecurityManager, createDomainContext, createSession, createSessionInfo, getCommandLine, getCreationTime, getDomainContext, getName, getProperties, getProperty, getRunningApplication, getSessionInfo, getUser, getUser, getVersion, initialize, initializeScripting, isInteractive, isInteractiveImpl, isServer, logStackdump, register, setDomainContext, setProperties, start, start, stop, stop, toString, unregister
-
-
-
-
Method Detail
-
getSessionPool
public org.tentackle.session.SessionPool getSessionPool()
- Specified by:
getSessionPoolin interfaceorg.tentackle.session.SessionPoolProvider
-
isServerImpl
protected boolean isServerImpl()
- Overrides:
isServerImplin classorg.tentackle.app.AbstractApplication
-
setSessionInfo
protected void setSessionInfo(org.tentackle.session.SessionInfo sessionInfo)
Overwridden to protect the sessioninfo once it is set.
- Overrides:
setSessionInfoin classorg.tentackle.app.AbstractApplication
-
configurePreferences
protected void configurePreferences()
- Overrides:
configurePreferencesin classorg.tentackle.app.AbstractApplication
-
configureModificationTracker
protected void configureModificationTracker()
- Overrides:
configureModificationTrackerin classorg.tentackle.app.AbstractApplication
-
finishStartup
protected void finishStartup()
- Overrides:
finishStartupin classorg.tentackle.app.AbstractApplication
-
createSessionPool
public org.tentackle.session.SessionPool createSessionPool()
Creates the session pool to serve the client sessions.- Returns:
- the session pool
-
getSession
public org.tentackle.dbms.Db getSession()
- Specified by:
getSessionin interfaceorg.tentackle.session.SessionProvider- Overrides:
getSessionin classorg.tentackle.app.AbstractApplication
-
createConnectionManager
protected org.tentackle.dbms.ConnectionManager createConnectionManager()
Creates the connection manager for the client sessions. The default creates an MpxConnectionManager.- Returns:
- the connection manager
-
getConnectionManager
public org.tentackle.dbms.ConnectionManager getConnectionManager()
- Specified by:
getConnectionManagerin interfaceorg.tentackle.dbms.ConnectionManagerProvider
-
configureSessionInfo
protected void configureSessionInfo(org.tentackle.session.SessionInfo sessionInfo)
Configures the session info.- Parameters:
sessionInfo- the session info
-
startup
protected void startup()
- Specified by:
startupin classorg.tentackle.app.AbstractApplication
-
login
protected void login()
Connects the server to the database backend.
-
cleanup
protected void cleanup()
- Overrides:
cleanupin classorg.tentackle.app.AbstractApplication
-
isRunningInContainer
public boolean isRunningInContainer()
Indicates whether this application is running within a container.- Returns:
- true if running in a container, false if not
-
isSystemExitNecessaryToStop
protected boolean isSystemExitNecessaryToStop()
- Overrides:
isSystemExitNecessaryToStopin classorg.tentackle.app.AbstractApplication
-
detectContainer
protected void detectContainer()
Detects whether this application is running within a container.
The result can be retrieved byisRunningInContainer().
-
deregisterJdbcDrivers
protected void deregisterJdbcDrivers(java.lang.ClassLoader cl)
Deregisters all JDBC-Drivers loaded by the app's classloader.
Necessary in containers only (in case connected directly via JDBC and not via JNDI). Avoids memleaks.- Parameters:
cl- the app's classloader
-
activateStatistics
protected void activateStatistics()
- Overrides:
activateStatisticsin classorg.tentackle.app.AbstractApplication
-
-