| Home >> All >> com >> lutris >> appserver |
| | com.lutris.appserver.admin.* (23) | | com.lutris.appserver.server.* (173) | | com.lutris.appserver.welcome.* (3) |
Package Samples:
com.lutris.appserver.server.sql.informix
com.lutris.appserver.server.sql
com.lutris.appserver.server.sql.msql
com.lutris.appserver.server.sql.oracle
com.lutris.appserver.server.sql.postgresql
com.lutris.appserver.server.sql.standard
com.lutris.appserver.server.sql.sybase
com.lutris.appserver.server.sql.tests
com.lutris.appserver.server.httpPresentation.servlet
com.lutris.appserver.server.httpPresentation
com.lutris.appserver.server
com.lutris.appserver.server.session.persistent
com.lutris.appserver.server.session
com.lutris.appserver.server.user
com.lutris.appserver.welcome.presentation
com.lutris.appserver.welcome
com.lutris.appserver.server.jolt.joltc
com.lutris.appserver.server.jolt.joltpo
com.lutris.appserver.server.jolt.parser
com.lutris.appserver.server.jolt.tests
Classes:
StandardSessionManager: This session manager maintains the mapping between session keys and sessions. It generates secure session keys that are safe to use as cookie values in web applications. It also manages the life of a session. If a session is not used (touched) for a preconfigured amount of time, then it is expired and removed from the session manager. The following parameters can be used to configure the session manager. They should be grouped together in a section, normally SessionManager , which is specified to the constructor. SessionLifetimeMax: {int} The maximum number of minutes a session is valid. If this ...
Application: Interface used to define a Lutris server application. Each application defines a class that implements this interface. The specific application class serves as an entry and control point for the application. This class is responsible for initializing any application specific resources, including instance of standard services that are needed. The class must have a constructor with a configuration file argument. The class is instantiated from a presentation manager and is used to start and stop the application. This structure allows applications to be started on demand by URL reference, as is required ...
StandardConnectionAllocator: Manages a pool (set) of connections to a database. The pool is named as a logical database. By naming a pool, this allows connection resource control to be on a finer grain that a database and allows for easier migration to multiple databases. One or more pools can map to the same actual database. A connection considered part of the pool, even if its allocated to a thread. These objects are all publicly accessed via the Database Manager, not directly. If an error occurs in a connection, it is dropped from the pool. The process using the connection has already received an error which aborts the ...
PagedSessionHome: The StandardSessionManager uses PagedSessionHome to manage a collection of sessions that can be paged to disk. PagedSessionHome will page sessions to disk as soon as a pre-configured threshold of sessions has been reached. Only sessions in the 'passive' state will be paged to disk. If all sessions are in the 'active' state and the threshold has been reached, then a request to create a new session will block until one of the 'active' sessions goes into the 'passive' state. At this point the session that just became 'passive' is paged to disk and a new session is created. Sessions are paged to disk ...
StandardDatabaseManager: The standard database manager implementation. A database manager manages logical databases. It provides a single object from which database connections, object ids (OIDs), transactions and queries can be obtained. The configuration file specifies what logical database to create. The configuration data is specified as follows: DatabaseManager.Databases - A list of logical SQL database names. DatabaseManager.DefaultDatabase - The default logical database used by this application. Optional, if not specified, then the first entry in "DatabaseManager.Databases" is used. DatabaseManager.Debug - Specify ...
ConfEditor: Methods used by the Enhydra administration application to read and modify application's config files and servlet properties. Multiple servlets may be edited at once, so the servlet id must be passed in to all functions. To use this class, simply call one of the get methods first. The first get will trigger the reading of the config file (if the servlet is an application), and the fetching of the servlet properties from the ServletManager. Then call the get or set methods in any order. All changes made via the set methods are stored in memory in this class. No changes are made to the application ...
DiskPagedSessionHome: The StandardSessionManager uses PagedSessionHome to manage a collection of sessions that can be paged to disk. PagedSessionHome will page sessions to disk as soon as a pre-configured threshold of sessions has been reached. Only sessions in the 'passive' state will be paged to disk. If all sessions are in the 'active' state and the threshold has been reached, then a request to create a new session will block until one of the 'active' sessions goes into the 'passive' state. At this point the session that just became 'passive' is paged to disk and a new session is created. Sessions are paged to disk ...
Enhydra: The Enhydra class provides static methods that allow each application to conviently get at their application object. It also provides access This class implements dynamically scoped global variables, accessed via static methods. Which variable is accessed (and thus which Application object is returned) depends on the flow of control of the program before the access (the call stack). Currently a hashtable keyed on the threads themselves is used to store the different Application, in Java 1.2 threads will have a field already available for storing client data. Normal usage of this class is to call ...
HttpPresentationServlet: Presentation server implemented as a servlet. Translates servlet requests into HttpPresentationManager requests. There is a one to one correspondence between an instance of this servlet and an Enhydra application. An instance of the application is created by the servlet. The servlet requires a single init parameter `configFile', that contains the path to the application's configuration file. This file must define the following fields: server.classPath - The class path for the application, as a comma seperated list. This should not contain the class path for the Java runtime classes or the Lutris ...
DBQuery: Utility for querying object from a database. Allocates connections from the database connection pool, ensures the integrity of those connections, and manages result sets after a query is performed. Returns objects representing data in the database. Example - querying a user: import com.lutris.appserver.server.LBS; import com.lutris.appserver.server.sql.*; DBQuery dbQuery = LBS.getDatabaseManager().createQuery(DATABASE_NAME); // NOTE: class CustomerQuery implements Query { ... } CustomerQuery customerQuery = new CustomerQuery(); String [] loginIds = { "customer1", "customer2" }; try { for (int idx=0; ...
DBRowUpdateException: DBRowUpdateException is thrown when a CoreDO update fails. Two values are used to uniquely identify a row in a table: oId and version. The executeUpdate() method creates an SQL UPDATE command to write the new values in a CoreDO object back to the correct row in the database. The row is identifed by the oId and version values specified in the WHERE-clause of the UPDATE command. So, if no row has the specified oId and version combination, the UPDATE will fail, and report that 0 rows were updated. Note: other database problems (e.g. disk full) can also cause an UPDATE to fail, but these are rare. ...
PersistentSessionHome: PersistentSessionHome writes all passive sessions to a database. The sessions are written by serializing all the data (excluding the session manager) that is associated with a session. This requires that the session data and user associated with a session are serializable. PersistentSessionHome should be used by applications that want failover support or that want to run in a clustered environment. The session data is written to a table in the database that is defined as (Informix): CREATE TABLE PersistentSession ( sessionKey VARCHAR(64) NOT NULL, isNew CHAR(1) DEFAULT "1" NOT NULL, timeCreated ...
StandardLogicalDatabase: Represents a logical database. Each logical database has a connection allocator and a object id allocator. The standard implementation of a local database is used when the database is described as of type Standard in DatabaseManager.DB. dbname .ClassType The configuration data is specified in the section: DatabaseManager.DB. dbName The following is a description of the sub fields: JdbcDriver - The JDBC driver to use to access that database. Manditory. E.g. "intersolv.jdbc.sequelink.SequeLinkDriver" Connection - This section is passed onto the connection allocator. See for details on connection ...
StandardSessionHome: StandardSessionManager uses StandardSessionHome to manage a collection of sessions. StandardSessionHome acts both as a session factory and as a session repository. The session manager gains access to instances of sessions via the home (StandardSessionHome) interface. The session manager dynamically loads the home interface. The implementation of the home interface that is loaded is specified in the applications configuration file: SessionHome.Class: {class name} StandardSessionHome manages the state of a session. A session exists in either of two states: 'active' or 'passive'. An 'active' session ...
DBTransaction: Used to perform database transactions. Example - adding a new user: import com.lutris.appserver.server.LBS; import com.lutris.appserver.server.sql.*; DBTransaction transaction = LBS.getDatabaseManager().createTransaction(DATABASE_NAME); // NOTE: class CustomerDO implements Transaction { ... } // NOTE: An Object ID is automatically calculated by the constructor. CustomerDO customer = new CustomerDO(); customer.setFirstName("Santa"); customer.setLastName("Claus"); // ... set all other CustomerFields ... // // Now add the new object to the database. // try { transaction.insert(customer); transaction.commit(); ...
RemoteControl: This is an http presentation object, designed for communicating with another program. This object starts and stops servlets. There is one required argument, action . It must have one of three values: list, start or stop. For start and stop, an additional argument id is required. The input is assumed to be HTTP, with URL encoded arguments. The output will be HTTP, with the mime type "text/plain". There will be an HTTP response code, and HTTP headers (perhaps a session cookie). Inside the body of the response is the machine readable text. Expected query string inputs: action One of: start , stop ...
InformixObjectIdAllocator: Informix Object ids can only be created via this manager. Ensures that all object ids are unique across all objects in this logical database. Also ensures good performance for allocating object ids. The configuration data is specified in the section: DatabaseManager.DB. dbName .ObjectId Configuration fields are: CacheSize - The number of object id's to cache between database queries. Optional, if not specified, then it defaults to 1024. MinValue - The starting number of Object ID allocation. This will only be used if the Object ID table is empty and thus is useful in development and testing. Optional, ...
StandardObjectIdAllocator: Object ids can only be created via this manager. Ensures that all object ids are unique across all objects in this logical database. Also ensures good performance for allocating object ids. The configuration data is specified in the section: DatabaseManager.DB. dbName .ObjectId Configuration fields are: CacheSize - The number of object id's to cache between database queries. Optional, if not specified, then it defaults to 1024. MinValue - The starting number of Object ID allocation. This will only be used if the Object ID table is empty and thus is useful in development and testing. Optional, if ...
StandardSessionKeyGen: The session random key generator. This class implements a background thread that wakes up and counts the number of Standard Session Manager requests completed at one or more different interval periods, and supplements the seed of the Manager's random number generator in order to make the value of the cookies extremely unpredictable. This is an absolute requirement if random cookie values are to be used for any type of security purpose. This random number generator uses the JDK 1.1 SecureRandom object, which implements a cryptographic grade random number generator based on the RSA MD5 one-way hash. ...
DisplayRequests: This is an http presentation object, which also implements the ServletRecordCallback interface, so it can register its self with the DebugManager. This presentation tracks changes to the queue. In the future it will talk to an applet, telling it to add and remove lines of text (each of which is a URL). For now it just creates a neverending list of anchors in normal HTML. Every time a new transaction is added to the queue in the DebugManager, one more anchor appears, on it's own line. Expected query string inputs: id The name of the servlet being debugged. targetUrl The presentation object the anchors ...
BasicSessionHome: BasicSessionHome creates instances of BasicSession and manages the 'active'/'passive' state of those sessions. All sessions created by BasicSessionHome are held in memory. The following parameters can be used to configure the BasicSessionHome. They should be grouped together in a section, normally SessionManager.SessionHome , which is specified to the constructor. MaxSessions: {int} Specifies the maximum number of in use concurrent sessions. If this value is exceeded then CreateSession() will throw a CreateSessionException. -1 indicates unlimited session. If MaxSessions is not set in the application's ...
RequestsDataSource: This class contains the data that the JClass JCChart object will see. It implements the jclass.chart.Chartable interface. This class also gives the graph panel access to other data values it will display. For example, a max value or total count. Currently, almost all the functionality is in the parent class MonitorDataSource. Later, when we start to implement other data sources because RequestsDataSource, (e.g. SessionsDataSource, DBConnectionsDataSource), we will pull some of the data specific code down into this class.
BasicSessionUserTable: Table used by StandardSessionManager to cross reference User objects and sessions. This table does not hold references to the user and session objects. Instead it only cross-references the session keys and user names. An underlying assumption is that the user name can be used as a unique reference to the user. N.B. It is assumed that this class is only used by StandardSessionManager and that it is responsible for providing high level locks instead of synchronizing
PagedSessionUserTable: Table used by StandardSessionManager to cross reference User objects and sessions. This table does not hold references to the user and session objects. Instead it only cross-references the session keys and user names. An underlying assumption is that the user name can be used as a unique reference to the user. N.B. It is assumed that this class is only used by StandardSessionManager and that it is responsible for providing high level locks instead of synchronizing
AppletUtils: This is the counterpart to com.lutris.applet.LBSConnection. This class creates tags with extra initialization parameters. LBSConnection reads those extra initialization parameters and uses them to establish a connection back to the Mutliserver. This file is used by a presentation object, while LBSConnection is included in the applet's jar file or classes directory. This way it does not need to include the com.lutris.appserver.server.* classes.
| Home | Contact Us | Privacy Policy | Terms of Service |