This section documents all cache.xml
elements that you use to configure Geode clients. All elements are sub-elements of the <client-cache>
element.
For Geode server configuration, see <cache> Element Reference.
API: org.apache.geode.cache.client.ClientCacheFactory
and PoolFactory
interfaces.
| Attribute | Definition | Default |
|---|---|---|
| copy-on-read | Boolean indicating whether entry value retrieval methods return direct references to the entry value objects in the cache (false) or copies of the objects (true). |
False |
: Table 1. Attributes of <client-cache>
Example:
<client-cache>
<pool
name="client"
subscription-enabled="true">
<locator host="localhost" port="41111"/>
</pool>
<region-attributes
id="clientAttributes"
pool-name="client"
refid="CACHING_PROXY"/>
<region name="root">
<region-attributes scope="local"/>
<region name="cs_region">
<region-attributes refid="clientAttributes"/>
</region>
</region>
</client-cache>
<cache-transaction-manager>
Specifies a transaction listener.
API: CacheTransactionManager
Example:
<client-cache search-timeout="60">
<cache-transaction-manager>
<transaction-listener>
<class-name>com.company.data.MyTransactionListener</class-name>
<parameter name="URL">
<string>jdbc:cloudscape:rmi:MyData</string>
</parameter>
</transaction-listener>
<transaction-listener>... </transaction-listener>
<transaction-writer>
<class-name>com.company.data.MyTransactionWriter</class-name>
<parameter name="URL">
<string>jdbc:cloudscape:rmi:MyData</string>
</parameter>
<parameter>
</transaction-writer>
</cache-transaction-manager> .. .
</client-cache>
<transaction-listener>
When a transaction ends, its thread calls the TransactionListener to perform the appropriate follow-up for successful commits, failed commits, or voluntary rollbacks.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
<transaction-writer>
When you commit a transaction, a TransactionWriter can perform additional tasks, including aborting the transaction.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
<pool>
Use for client caches. Defines a client’s server pool used to communicate with servers running in a different distributed system.
API: org.apache.geode.cache.client.PoolFactory
| Attribute | Description | Default |
|---|---|---|
| free-connection-timeout | Amount of time a thread will wait to get a pool connection before timing out with an exception. This timeout keeps threads from waiting indefinitely when the pool’s max-connections has been reached and all connections in the pool are in use by other threads. |
10000 |
| idle-timeout | Maximum time, in milliseconds, a pool connection can stay open without being used when there are more than min-connections in the pool. Pings over the connection do not count as connection use. If set to -1, there is no idle timeout. |
5000 |
| load-conditioning-interval | Amount of time, in milliseconds, a pool connection can remain open before being eligible for silent replacement to a less-loaded server. | 300000
(5 minutes) |
| max-connections | Maximum number of pool connections the pool can create. If the maximum connections are in use, an operation requiring a client-to-server connection blocks until a connection becomes available or the free-connection-timeout is reached. If set to -1, there is no maximum. The setting must indicate a cap greater than min-connections .
**Note:**
If you need to use this to cap your pool connections, you should disable the pool attribute |
-1 |
| min-connections | Minimum number of pool connections to keep available at all times. Used to establish the initial connection pool. If set to 0 (zero), no connection is created until an operation requires it. This number is the starting point, with more connections added later as needed, up to the max-connection setting. The setting must be an integer greater than or equal to 0. |
1 |
| multiuser-authentication | Used for installations with security where you want to accommodate multiple users within a single client. If set to true, the pool provides authorization for multiple user instances in the same client application, and each user accesses the cache through its own RegionService instance. If false, the client either uses no authorization or just provides credentials for the single client process. |
false |
| name | Name of this pool. Used in the client region pool-name to assign this pool to a region in the client cache.
**Note:**
This is a required property with no default setting. |
none |
| ping-interval | How often to communicate with the server to show the client is alive, set in milliseconds. Pings are only sent when the ping-interval elapses between normal client messages.
**Note:**
Set this lower than the server’s |
10000 |
| pr-single-hop-enabled | Setting used to improve access to partitioned region data in the servers. Indicates whether to use metadata about the partitioned region data storage locations to decide where to send some data requests. This allows a client to send a data operation directly to the server hosting the key. Without this, the client contacts any available server and that server contacts the data store. This is used only for operations that can be carried out on a server-by-server basis, like put, get, and destroy. | true |
| read-timeout | Maximum time, in milliseconds, for the client to wait for a response from a server. | 10000 |
| retry-attempts | Number of times to retry a client request before giving up. If one server fails, the pool moves to the next, and so on until it is successful or it hits this limit. If the available servers are fewer than this setting, the pool will retry servers that have already failed until it reaches the limit. If this is set to -1, the pool tries every available server once. | -1 |
| server-group | Logical named server group to use from the pool. A null value uses the global server group to which all servers belong.
**Note:**
This is only used when the |
null |
| socket-buffer-size | Size for socket buffers from the client to the server. Default: 32768. | 32768 |
| socket-connect-timeout | The number of milliseconds to wait before timing out on the client socket connect to a server or locator. A value of zero is interpreted as an infinite timeout. If zero, the connection will block until established or an error occurs. | 59000 |
| statistic-interval | Interval, in milliseconds, at which to send client statistics to the server. If set to -1, statistics are not sent. | -1 |
| subscription-ack-interval | Time, in milliseconds, between messages to the primary server to acknowledge event receipt.
**Note:**
Used only when |
100 |
| subscription-enabled | Boolean indicating whether the server should connect back to the client and automatically sends server-side cache update information. Any bind address information for the client is automatically passed to the server for use in the callbacks. | false |
| subscription-message-
tracking-timeout |
Time-to-live, in milliseconds, for entries in the client’s message tracking list. | 900000
(15 minutes) |
| subscription-redundancy | Number of servers to use as backup to the primary for highly available subscription queue management. If set to 0, none are used. If set to -1, all available servers are used. | 0 |
| subscription-timeout-multiplier | Number of missing server pings that trigger timeout of a subscription feed. A value of zero (the default) disables timeouts. A value of one or more times out the server connection after the specified number of ping intervals have elapsed. A value of one is not recommended. | 0 |
| thread-local-connections | Boolean specifying whether connections are sticky. True causes the connection to stick to the thread for multiple requests. False causes each connection to be returned to the pool after a request finishes. A sticky connection is returned to the pool when the thread releases it through the Pool method releaseThreadLocalConnection , when the idle-timeout is reached, or when the pool is destroyed. |
false |
: Table 2. Attributes
Example:
<pool
name="publisher"
subscription-enabled="true">
<locator
host="myLocatorAddress1"
port="12345"/>
<locator
host="myLocatorAddress2"
port="45678"/>
</pool>
<locator>
Addresses and ports of the locators to connect to. You can define multiple locators for the pool.
Note:
Provide a locator list or server
list, but not both.
API: org.apache.geode.distributed.LocatorLauncher
| Attribute | Description | Default |
|---|---|---|
| host | Hostname of the locator | |
| port | Port number of the locator |
: Table 3. Attributes
Example:
<pool ...>
<locator
host="myLocatorHost"
port="12345"/>
<server>
Addresses and ports of the servers to connect to.
Note:
Provide a server list or locator
list, but not both.
Default:
API: org.apache.geode.distributed.ServerLauncher
| Attribute | Description | Default |
|---|---|---|
| host | Hostname of the server | |
| port | Port number of the server |
: Table 4. Attributes
Example:
<pool ...>
<server
host="myServerHost"
port="123456"/>
</pool>
<disk-store>
Defines a pool of one or more disk stores, which can be used by regions, and client subscription queues.
Default: The cache default disk store, named “DEFAULT”, is used when disk is used but no disk store is named.
API: org.apache.geode.cache.DiskStore
| Attribute | Description | Default |
|---|---|---|
| name | The name of the Disk Store. | |
| auto-compact | Set to true to automatically compact the disk files. | |
| compaction-threshold | The threshold at which an oplog will become compactable. Until it reaches this threshold the oplog will not be compacted.
The threshold is a percentage in the range 0 to 100. |
|
| allow-force-compaction | Set to true to allow disk compaction to be forced on this disk store. | |
| max-oplog-size | The maximum size, in megabytes, of an oplog (operation log) file. | |
| time-interval | The number of milliseconds that can elapse before unwritten data is written to disk. | |
| write-buffer-size | The size of the write buffer that this disk store uses when writing data to disk. Larger values may increase performance but use more memory. The disk store allocates one direct memory buffer of this size. | |
| queue-size | Maximum number of operations that can be asynchronously queued to be written to disk. | |
| disk-usage-warning-percentage | Disk usage above this threshold generates a warning message. For example, if the threshold is set to 90%, then on a 1 TB drive falling under 100 GB of free disk space generates the warning.
Set to “0” (zero) to disable. |
90 |
| disk-usage-critical-percentage | Disk usage above this threshold generates an error message and shuts down the member’s cache. For example, if the threshold is set to 99%, then falling under 10 GB of free disk space on a 1 TB drive generates the error and shuts down the cache.
Set to “0” (zero) to disable. |
99 |
: Table 5. Attributes
Example:
<disk-store
name="DEFAULT"
allow-force-compaction="true">
<disk-dirs>
<disk-dir>/export/thor/customerData</disk-dir>
<disk-dir>/export/odin/customerData</disk-dir>
<disk-dir>/export/embla/customerData</disk-dir>
</disk-dirs>
</disk-store>
<disk-dirs>
An element of a disk store that defines a set of <disk-dir>
elements.
<disk-dir>
Specifies a region or disk store’s disk directory.
| Attribute | Description | Default |
|---|---|---|
| dir-size | Maximum amount of space to use for the disk store, in megabytes. | 214748364
(2 petabytes) |
: Table 6. Attributes
Example:
<disk-dir
dir-size="20480">/host3/users/gf/memberA_DStore</disk-dir>
<pdx>
Specifies the configuration for the Portable Data eXchange (PDX) method of serialization.
API: org.apache.geode.cache.CacheFactory.setPdxReadSerialized
, setPdxDiskStore
, setPdxPersistent
, setPdxIgnoreUnreadFields
and org.apache.geode.cache.ClientCacheFactory.setPdxReadSerialized
, setPdxDiskStore
, setPdxPersistent
, setPdxIgnoreUnreadFields
| Attribute | Description | Default |
|---|---|---|
| read-serialized | Set it to true if you want PDX deserialization to produce a PdxInstance instead of an instance of the domain class. | |
| ignore-unread-fields | Set it to true if you do not want unread PDX fields to be preserved during deserialization. You can use this option to save memory. Set to true only in members that are only reading data from the cache. | |
| persistent | Set to true if you are using persistent regions. This causes the PDX type information to be written to disk. | |
| disk-store-name | If using persistence, this attribute allows you to configure the disk store that the PDX type data will be stored in. By default, the default disk store is used. |
: Table 7. Attributes
Example:
<client-cache>
<pdx persistent="true" disk-store-name="myDiskStore">
<pdx-serializer>
<class-name>
org.apache.geode.pdx.ReflectionBasedAutoSerializer
</class-name>
<parameter name="classes">
<string>com.company.domain.DomainObject</string>>
</parameter>
</pdx-serializer>
</pdx>
...
</client-cache>
<pdx-serializer>
Allows you to configure the PdxSerializer for this Geode member.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
Default:
API: org.apache.geode.cache.CacheFactory.setPdxSerializer
Example:
<client-cache>
<pdx>
<pdx-serializer>
<class-name>com.company.ExamplePdxSerializer</class-name>
</pdx-serializer>
</pdx>
...
</client-cache>
<region-attributes>
Specifies a region attributes template that can be named (by id
) and referenced (by refid
) later in the cache.xml
and through the API.
API: org.apache.geode.cache.RegionFactory
or org.apache.geode.cache.ClientRegionFactory
| Attribute | Description | Default | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concurrency-level | Gives an estimate of the maximum number of application threads that will concurrently access a region entry at one time. This attribute does not apply to partitioned regions. This attribute helps Geode optimize the use of system resources and reduce thread contention. This sets an initial parameter on the underlying java.util.ConcurrentHashMap used for storing region entries.
**Note:**
Before you modify this, read the concurrency level description, then see the Java API documentation for API: Example:
|
16 (threads) | ||||||||||||||
| data-policy | Specifies how the local cache handles data for a region. This setting controls behavior such as local data storage and region initialization.
**Note:**
Configure the most common options using the region shortcuts, You can specify the following data policies:
API: Example:
This is similar to using a region shortcut with
If you use |
normal | ||||||||||||||
| enable-async-conflation | For TCP/IP distributions between peers, specifies whether to allow aggregation of asynchronous messages sent by the producer member for the region. This is a special-purpose voolean attribute that applies only when asynchronous queues are used for slow consumers. A false value disables conflation so that all asynchronous messages are sent individually. This special-purpose attribute gives you extra control over peer-to-peer communication between distributed regions using TCP/IP. This attribute does not apply to client/server communication or to communication using the UDP unicast or IP multicast protocols.
Note:
To use this attribute, the API: Example:
|
true | ||||||||||||||
| enable-gateway | Determines whether the gateway is enabled for the region. When set to true, events in the region are sent to the defined gateway hubs. Used only with GemFire version 6.x gateway configurations. For GemFire 7.0 configuration, see thegateway-sender-id attribute of the <region-attributes> element. |
false | ||||||||||||||
| enable-subscription-conflation | Boolean for server regions that specifies whether the server can conflate its messages to the client. A true value enables conflation.
Note:
The client can override this setting with the API: Example:
|
false | ||||||||||||||
| gateway-sender-ids | Specifies one or more gateway sender IDs to use for distributing region events to remote Geode sites. Specify multiple IDs as a comma-separated list. API: Example:
|
not set | ||||||||||||||
| async-event-queue-ids | Specifies one or more asynchronous event queues to use for distributing region events an AsyncEventListener implementation (for example, for write-behind cache event handling). Specify multiple IDs as a comma-separated list.
API:
|
not set | ||||||||||||||
| hub-id | If the Used only with GemFire version 6.x gateway configurations. For GemFire 7.0 configuration, see the |
null | ||||||||||||||
| id | Stores the region attribute settings in the cache with this identifier. Once stored, the attributes can be retrieved using the region attribute API: Example:
|
not set | ||||||||||||||
| ignore-jta | Boolean that determines whether operations on this region participate in active JTA transactions or ignore them and operate outside of the transactions. This is primarily used in cache loaders, writers, and listeners that need to perform non-transactional operations on a region, such as caching a result set. API: Example:
|
false | ||||||||||||||
| index-update-type | Specifies whether region indexes are maintained synchronously with region modifications, or asynchronously in a background thread. In the API: Example:
|
synchronous updates | ||||||||||||||
| initial-capacity | Together with the API: Example:
|
16 | ||||||||||||||
| is-lock-grantor | Determines whether this member defines itself as the lock grantor for the region at region creation time. This only specifies whether the member becomes lock grantor at creation and does not reflect the current state of the member’s lock grantor status. The member’s lock grantor status may change if another member subsequently defines the region with API: Example:
|
false | ||||||||||||||
| load-factor | Together with the initial-capacity region attribute, sets the initial parameters on the underlying
Note:
Before you set this attribute, read the discussion of initial capacity and load factor, then see the Java API documentation for API: Example:
|
.75 | ||||||||||||||
| mirror-type | Deprecated | |||||||||||||||
| multicast-enabled | Boolean that specifies whether distributed operations on a region should use multicasting. To enable this, multicast must be enabled for the distributed system with the API: Example:
|
false | ||||||||||||||
| pool-name | Identifies the region as a client region and specifies the server pool the region is to use. The named pool must be defined in the client cache before the region is created. If this is not set, the region does not connect to the servers as a client region. API: Examples: This declaration creates the region as a client region with a server pool named DatabasePool. This pool-name specification is required, as there are multiple pools in the client cache:
This declaration creates the region as a client region assigned the single pool that is defined for the client cache. Here the pool-name specification is implied to be the only pool that exists in the cache:
|
not set | ||||||||||||||
| disk-store-name | Assigns the region to the disk store with this name from the disk stores defined for the cache. Persist region data to disk by defining the region as persistent using the Shortcut Attribute Options or data-policy settings. Overflow data to disk by implementing LRU eviction-attributes with an action of overflow to disk. Each disk store defines the file system directories to use, how data is written to disk, and other disk storage maintenance properties. In addition, the API: Example:
|
null | ||||||||||||||
| disk-synchronous | For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region. API: Example:
|
true | ||||||||||||||
| refid | Retrieves region shortcuts and user-defined named region attributes for attributes initialization API: Example:
|
not set | ||||||||||||||
| scope | Definition: Determines how updates to region entries are distributed to the other caches in the distributed system where the region and entry are defined. Scope also determines whether to allow remote invocation of some of the region’s event handlers, and whether to use region entry versions to provide consistent updates across replicated regions.
Note:
You can configure the most common of these options with Geode region shortcuts in
Note:
Server regions that are not partitioned must be replicated with Set one of the following scope values:
setScope
Example:
|
distributed-no-ack | ||||||||||||||
| statistics-enabled | Boolean specifying whether to gather statistics on the region. Must be true to use expiration on the region. Geode provides a standard set of statistics for cached regions and region entries, which give you information for fine-tuning your distributed system. Unlike other Geode statistics, statistics for local and distributed regions are not archived and cannot be charted. They are kept in instances of org.apache.geode.cache.CacheStatistics and made available through the region and its entries through the Region.getStatistics and Region.Entry.getStatistics methods.
API: Example:
|
false | ||||||||||||||
| cloning-enabled | Determines how API: Example:
|
false | ||||||||||||||
| concurrency-checks-enabled | Determines whether members perform checks to provide consistent handling for concurrent or out-of-order updates to distributed regions. See Consistency for Region Updates.
Note:
Applications that use a API: Example:
|
true | ||||||||||||||
| off-heap | Specifies that the region uses off-heap memory to store entry values, including values for region entries and queue entries. The region will still use heap memory for everything else, such as entry keys and the ConcurrentHashMap. API: Example:
|
false |
: Table 8. Attributes
<key-constraint>
Defines the type of object to be allowed for the region entry keys. This must be a fully-qualified class name. The attribute ensures that the keys for the region entries are all of the same class. If key-constraint is not used, the region’s keys can be of any class. This attribute, along with value-constraint, is useful for querying and indexing because it provides object type information to the query engine.
Note:
Set the constraint in every cache where you create or update the region entries. For client/server installations, match constraints between client and server and between distributed systems. The constraint is only checked in the cache that does the entry put
or create
operation. To avoid deserializing the object, the constraint is not checked when the entry is distributed to other caches.
Default: not set
API: org.apache.geode.cache.RegionFactory.setKeyConstraint
Example:
<region-attributes>
<key-constraint>
java.lang.String
</key-constraint>
</region-attributes>
<value-constraint>
Defines the type of object to be allowed for the region entry values. This must be a fully-qualified class name. If value constraint isn’t used, the region’s value can be of any class. This attribute, along with key-constraint
, is useful for querying and indexing because it provides object type information to the query engine.
Note:
Set the constraint in every cache where you create or update the region entries. For client/server installations, match constraints between client and server and between distributed systems. The constraint is only checked in the cache that does the entry put
or create
operation. To avoid deserializing the object, the constraint is not checked when the entry is distributed to other caches.
Default: not set
API: org.apache.geode.cache.RegionFactory.setValueConstraint
Example:
<region-attributes>
<value-constraint>
cacheRunner.Portfolio
</value-constraint>
</region-attributes>
<region-time-to-live>
Expiration setting that specifies how long the region can remain in the cache without anyone accessing or updating it.
Default: not set - no expiration of this type
API: org.apache.geode.cache.RegionFactory.setRegionTimeToLive
Example:
<region-attributes
statistics-enabled="true">
<region-time-to-live>
<expiration-attributes
timeout="3600"
action="local-destroy"/>
</region-time-to-live>
</region-attributes>
<expiration-attributes>
Within the entry-time-to-live
or entry-idle-time
element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the region-time-to-live
or region-idle-time
element, this element specifies the expiration rules for the entire region.
API: See APIs for entry-time-to-live
, entry-idle-time
, region-time-to-live
, region-idle-time
| Attribute | Description | Default | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| timeout | Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration). | 0 | ||||||||
| action | Action that should take place when a region or an entry expires.
Select one of the following expiration actions:
|
invalidate |
: Table 9. Attributes
Example:
<region-attributes
statistics-enabled="true">
<entry-time-to-live>
<expiration-attributes
timeout="60"
action="local-destroy"/>
</entry-time-to-live>
</region-attributes>
<custom-expiry>
Specifies the custom class that implements org.apache.geode.cache.CustomExpiry
. You define this class in order to override the region-wide settings for specific entries. See Configure Data Expiration for an example.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout
, setCustomeEntryTimeToLive
Example:
<region-attributes>
<expiration-attributes
timeout="60"
action="local-destroy">
<custom-expiry>
<class-name>
com.megaconglomerate.mypackage.MyClass
</class-name>
</custom-expiry>
</region-attributes>
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
<region-idle-time>
Expiration setting that specifies how long the region can remain in the cache without anyone accessing it.
Note:
To ensure reliable read behavior across the partitioned region, use region-time-to-live
for region expiration instead of this setting.
Default: not set - no expiration of this type
API: org.apache.geode.cache.RegionFactory.setRegionIdleTimeout
Example:
<region-attributes statistics-enabled="true">
<region-idle-time>
<expiration-attributes
timeout="3600"
action="local-destroy"/>
</region-idle-time>
</region-attributes>
<expiration-attributes>
Within the entry-time-to-live
or entry-idle-time
element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the region-time-to-live
or region-idle-time
element, this element specifies the expiration rules for the entire region.
API: See APIs for entry-time-to-live
, entry-idle-time
, region-time-to-live
, region-idle-time
| Attribute | Description | Default | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| timeout | Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration). | 0 | ||||||||
| action | Action that should take place when a region or an entry expires.
Select one of the following expiration actions:
|
invalidate |
: Table 10. Attributes
Example:
<region-attributes
statistics-enabled="true">
<entry-time-to-live>
<expiration-attributes
timeout="60"
action="local-destroy"/>
</entry-time-to-live>
</region-attributes>
<custom-expiry>
Specifies the custom class that implements org.apache.geode.cache.CustomExpiry
. You define this class in order to override the region-wide settings for specific entries. See Configure Data Expiration for an example.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout
, setCustomeEntryTimeToLive
Example:
<region-attributes>
<expiration-attributes
timeout="60"
action="local-destroy">
<custom-expiry>
<class-name>
com.megaconglomerate.mypackage.MyClass
</class-name>
</custom-expiry>
</region-attributes>
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
<entry-time-to-live>
Expiration setting that specifies how long the region’s entries can remain in the cache without anyone accessing or updating them. See <expiration-attributes> for details.
Default: not set - no expiration of this type.
API: org.apache.geode.cache.RegionFactory.setEntryTimeToLive
Example:
<region-attributes
statistics-enabled="true">
<entry-time-to-live>
<expiration-attributes
timeout="60"
action="local-destroy"/>
</entry-time-to-live>
</region-attributes>
<expiration-attributes>
Within the entry-time-to-live
or entry-idle-time
element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the region-time-to-live
or region-idle-time
element, this element specifies the expiration rules for the entire region.
API: See APIs for entry-time-to-live
, entry-idle-time
, region-time-to-live
, region-idle-time
| Attribute | Description | Default | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| timeout | Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration). | 0 | ||||||||
| action | Action that should take place when a region or an entry expires.
Select one of the following expiration actions:
|
invalidate |
: Table 11. Attributes
Example:
<region-attributes
statistics-enabled="true">
<entry-time-to-live>
<expiration-attributes
timeout="60"
action="local-destroy"/>
</entry-time-to-live>
</region-attributes>
<custom-expiry>
Specifies the custom class that implements org.apache.geode.cache.CustomExpiry
. You define this class in order to override the region-wide settings for specific entries. See Configure Data Expiration for an example.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout
, setCustomeEntryTimeToLive
Example:
<region-attributes>
<expiration-attributes
timeout="60"
action="local-destroy">
<custom-expiry>
<class-name>
com.megaconglomerate.mypackage.MyClass
</class-name>
</custom-expiry>
</region-attributes>
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
<entry-idle-time>
Expiration setting that specifies how long the region’s entries can remain in the cache without anyone accessing them. See <expiration-attributes> for details.
Note:
To ensure reliable read behavior across the partitioned region, use entry-time-to-live
for entry expiration instead of this setting.
API: org.apache.geode.cache.RegionFactory.setEntryIdleTimeout
Example:
<region-attributes
statistics-enabled="true">
<entry-idle-time>
<expiration-attributes
timeout="60"
action="local-invalidate"/>
</expiration-attributes>
</entry-idle-time>
</region-attributes>
<expiration-attributes>
Within the entry-time-to-live
or entry-idle-time
element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the region-time-to-live
or region-idle-time
element, this element specifies the expiration rules for the entire region.
API: See APIs for entry-time-to-live
, entry-idle-time
, region-time-to-live
, region-idle-time
| Attribute | Description | Default | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| timeout | Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration). | 0 | ||||||||
| action | Action that should take place when a region or an entry expires.
Select one of the following expiration actions:
|
invalidate |
: Table 12. Attributes
Example:
<region-attributes
statistics-enabled="true">
<entry-time-to-live>
<expiration-attributes
timeout="60"
action="local-destroy"/>
</entry-time-to-live>
</region-attributes>
<custom-expiry>
Specifies the custom class that implements org.apache.geode.cache.CustomExpiry
. You define this class in order to override the region-wide settings for specific entries. See Configure Data Expiration for an example.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout
, setCustomeEntryTimeToLive
Example:
<region-attributes>
<expiration-attributes
timeout="60"
action="local-destroy">
<custom-expiry>
<class-name>
com.megaconglomerate.mypackage.MyClass
</class-name>
</custom-expiry>
</region-attributes>
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
<cache-loader>
An event-handler plug-in that allows you to program for cache misses. At most, one cache loader can be defined in each member for the region. For distributed regions, a cache loader may be invoked remotely from other members that have the region defined. When an entry get results in a cache miss in a region with a cache loader defined, the loader’s load method is called. This method is usually programmed to retrieve data from an outside data source, but it can do anything required by your application.
For partitioned regions, if you want to have a cache loader, install an instance of the cache loader in every data store. Partitioned regions support partitioned loading, where each cache loader loads only the data entries in the local member. If data redundancy is configured, data is loaded only if the local member holds the primary copy.
API: org.apache.geode.cache.RegionFactory.setCacheLoader
Example:
<region-attributes>
<cache-loader>
<class-name>quickstart.SimpleCacheLoader</class-name>
</cache-loader>
</region-attributes>
<cache-writer>
An event-handler plug-in that allows you to receive before-event notification for changes to the region and its entries. It also has the ability to abort events. At most, one cache writer can be defined in each member for the region. A cache writer may be invoked remotely from other members that have the region defined.
API: org.apache.geode.cache.RegionFactory.setCacheWriter
Example:
<region-attributes>
<cache-writer>
<class-name>quickstart.SimpleCacheWriter</class-name>
</cache-writer>
</region-attributes>
<cache-listener>
An event-handler plug-in that receives after-event notification of changes to the region and its entries. Any number of cache listeners can be defined for a region in any member. Geode offers several listener types with callbacks to handle data and process events. Depending on the data-policy
and the interest-policy
subscription attributes, a cache listener may receive only events that originate in the local cache, or it may receive those events along with events that originate remotely.
Specify the Java class for the cache listener and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
API: org.apache.geode.cache.RegionFactory.addCacheListener
Example:
<region-attributes>
<cache-listener>
<class-name>
quickstart.SimpleCacheListener
</class-name>
</cache-listener>
</region-attributes>
<eviction-attributes>
Specifies whether and how to control a region’s size. Size is controlled by removing least recently used (LRU) entries to make space for new ones. This may be done through destroy or overflow actions. You can configure your region for lru-heap-percentage with an eviction action of local-destroy using stored region attributes.
Default: Uses the lru-entry-count algorithm.
API: org.apache.geode.cache.RegionFactory.setEvictionAttributes
Example:
<region-attributes>
<eviction-attributes>
<lru-entry-count
maximum="1000"
action="overflow-to-disk"/>
</eviction-attributes>
</region-attributes
<lru-entry-count>
Using the maximum attribute, specifies maximum region capacity based on entry count.
| Attribute | Description | Default | ||||
|---|---|---|---|---|---|---|
| action | Set one of the following eviction actions:
|
local-destroy | ||||
| maximum | The maximum number of entries allowed in a region. |
: Table 13. Attributes
<lru-heap-percentage>
Runs evictions when the Geode resource manager says to. The manager orders evictions when the total cache size is over the heap percentage limit specified in the manager configuration. You can declare a Java class that implements the ObjectSizer interface to measure the size of objects in the Region.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
| Attribute | Description | Default | ||||
|---|---|---|---|---|---|---|
| action | Set one of the following eviction actions:
|
local-destroy |
: Table 14. Attributes
<lru-memory-size>
Using the maximum attribute, specifies maximum region capacity based on the amount of memory used, in megabytes. You can declare a Java class that implements the ObjectSizer interface to measure the size of objects in the Region.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
| Attribute | Description | Default | ||||
|---|---|---|---|---|---|---|
| action | Set one of the following eviction actions:
|
local-destroy | ||||
| maximum | The maximum amount of memory used in the region, in megabytes. |
: Table 15. Attributes
<jndi-bindings>
Specifies the binding for a data-source used in transaction management. See Configuring Database Connections Using JNDI.
Example:
<jndi-bindings>
<jndi-binding type="XAPooledDataSource"
jndi-name="newDB2trans"
init-pool-size="20"
max-pool-size="100"
idle-timeout-seconds="20"
blocking-timeout-seconds="5"
login-timeout-seconds="10"
xa-datasource-class="org.apache.derby.jdbc.EmbeddedXADataSource"
user-name="mitul"
password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
<config-property>
<config-property-name>Description</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>pooled_transact</config-property-value>
</config-property>
<config-property>
<config-property-name>DatabaseName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>newDB</config-property-value>
</config-property>
<config-property>
<config-property-name>CreateDatabase</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>create</config-property-value>
</config-property>
. . .
</jndi-binding>
</jndi-bindings>
<jndi-binding>
For every datasource that is bound to the JNDI tree, there should be one <jndi-binding>
element. This element describes the property and the configuration of the datasource. Geode uses the attributes of the <jndi-binding>
element for configuration. Use the <config-property>
element to configure properties for the datasource.
We recommend that you set the username and password with the user-name
and password
jndi-binding attributes rather than using the <config-property>
element.
| Attribute | Description | Default | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| blocking-timeout-seconds | The number of seconds that a connection remains associated with a transaction. If this value is exceeded, the connection is disassociated from the transaction. | 120 | ||||||||
| conn-pooled-datasource-class | Java class used for the PooledDataSource type. |
|||||||||
| connection-url | URL for connecting to the datasource.
Note:
If you are connecting to a JCA data source driver that implements XA transactions (where the jndi-binding type is XAPooledDataSource), do not use this attribute. Instead, define configuration properties for your database. See <config-property> for an example. |
|||||||||
| idle-timeout-seconds | The maximum number of seconds that a connection can remain idle in a pool. When this threshold is reached, the connection is removed. | 600 | ||||||||
| init-pool-size | The initial pool size of a PooledConnection (an XAConnection or a non-XAConnection). | 10 | ||||||||
| jdbc-driver-class | Java class used for the SimpleDataSource type. |
|||||||||
| jndi-name | The jndi-name attribute is the key binding parameter. If the value of jndi-name is a DataSource, it is bound as java:/myDatabase, where myDatabase is the name you assign to your data source. If the data source cannot be bound to JNDI at runtime, Geode logs a warning. |
|||||||||
| login-timeout-seconds | The maximum number of seconds for which a thread seeking a connection from a connection pool may be blocked. If the thread is unable to obtain connection in the stipulated time, a PoolException is thrown If a connection is available the thread returns immediately. If an existing connection is not available and the maximum number of connections in the pool has not been reached, a new connection is created and the thread returns immediately with the connection. If a connection is not available, the thread blocks for the specified time while waiting for an available connection. |
30 | ||||||||
| managed-conn-factory-class | If the Resource Adapter is of type ManagedDataSource, this class becomes the source of the PooledConnection. (This class interface complies with the J2CA Java 2 Connector Architecture.) | |||||||||
| max-pool-size | The maximum size of the PooledConnection. | 30 | ||||||||
| password | Password to access the datasource. | |||||||||
| transaction-type | When the type attribute is set to ManagedDataSource , specifies the type of transaction. Set one of the following transaction-type s:
|
none | ||||||||
| type |
Set one of the following types:
|
none | ||||||||
| user-name | User name to access to the datasource. | |||||||||
| xa-datasource-class | Java class used for the XAPooledDataSource type. |
: Table 16. Attributes
<config-property>
A configuration property of the datasource. Use the sub-elements to identify the name, datatype, and value of the property.
Default:
API: “
Example:
<config-property>
<config-property-name>DatabaseName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>newDB</config-property-value>
</config-property>
Configuration properties vary depending on the database vendor. See Configuring Database Connections Using JNDI for examples of different configuration property configurations.
<config-property-name>
The name of this datasource property.
<config-property-type>
The data type of this datasource property.
<config-property-value>
The value of this datasource property.
<region>
Defines a region in the cache. See <region-attributes> for more details on configuring regions. You can specify zero or more subregions within a region. See Create and Access Data Subregions for restrictions on creating subregions. For example, you cannot create a partitioned subregion.
Default:
API: org.apache.geode.cache.RegionFactory
or org.apache.geode.cache.ClientRegionFactory
| Attribute | Description | Default |
|---|---|---|
| name | Specify the name for the region. See Region Management for details. | |
| refid | Used to apply predefined attributes to the region being defined. If the nested "region-attributes” element has its own “refid”, then it will cause the “refid” on the region to be ignored. The “refid” region attriibute can be set to the name of a RegionShortcut or a ClientRegionShortcut. For more information, see Region Shortcuts and Custom Named Region Attributes and Storing and Retrieving Region Shortcuts and Custom Named Region Attributes. |
: Table 17. Attributes
Example:
<!--Using region shortcut-->
<region
name="PartitionedRegion"
refid="PARTITION_REDUNDANT">
...
</region>
<!-- Retrieving and storing attributes -->
<region-attributes
id="myPartition"
refid="PARTITION_REDUNDANT">
<partition-attributes
local-max-memory="512"/>
</region-attributes>
<!-- Attributes are retrieved and applied in the first region -->
<region name="PartitionedRegion1" refid="myPartition"/>
See<region-attributes> for a complete listing of region attributes.
<region-attributes>
Specifies a region attributes template that can be named (by id
) and referenced (by refid
) later in the cache.xml
and through the API.
API: org.apache.geode.cache.RegionFactory
or org.apache.geode.cache.ClientRegionFactory
| Attribute | Description | Default | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concurrency-level | Gives an estimate of the maximum number of application threads that will concurrently access a region entry at one time. This attribute does not apply to partitioned regions. This attribute helps Geode optimize the use of system resources and reduce thread contention. This sets an initial parameter on the underlying java.util.ConcurrentHashMap used for storing region entries.
**Note:**
Before you modify this, read the concurrency level description, then see the Java API documentation for API: Example:
|
16 (threads) | ||||||||||||||
| data-policy | Specifies how the local cache handles data for a region. This setting controls behavior such as local data storage and region initialization.
**Note:**
Configure the most common options using the region shortcuts, You can specify the following data policies:
API: Example:
This is similar to using a region shortcut with
If you use |
normal | ||||||||||||||
| enable-async-conflation | For TCP/IP distributions between peers, specifies whether to allow aggregation of asynchronous messages sent by the producer member for the region. This is a special-purpose voolean attribute that applies only when asynchronous queues are used for slow consumers. A false value disables conflation so that all asynchronous messages are sent individually. This special-purpose attribute gives you extra control over peer-to-peer communication between distributed regions using TCP/IP. This attribute does not apply to client/server communication or to communication using the UDP unicast or IP multicast protocols.
Note:
To use this attribute, the API: Example:
|
true | ||||||||||||||
| enable-gateway | Determines whether the gateway is enabled for the region. When set to true, events in the region are sent to the defined gateway hubs. Used only with GemFire version 6.x gateway configurations. For GemFire 7.0 configuration, see thegateway-sender-id attribute of the <region-attributes> element. |
false | ||||||||||||||
| enable-subscription-conflation | Boolean for server regions that specifies whether the server can conflate its messages to the client. A true value enables conflation.
Note:
The client can override this setting with the API: Example:
|
false | ||||||||||||||
| gateway-sender-ids | Specifies one or more gateway sender IDs to use for distributing region events to remote Geode sites. Specify multiple IDs as a comma-separated list. API: Example:
|
not set | ||||||||||||||
| async-event-queue-ids | Specifies one or more asynchronous event queues to use for distributing region events an AsyncEventListener implementation (for example, for write-behind cache event handling). Specify multiple IDs as a comma-separated list.
API:
|
not set | ||||||||||||||
| hub-id | If the Used only with GemFire version 6.x gateway configurations. For GemFire 7.0 configuration, see the |
null | ||||||||||||||
| id | Stores the region attribute settings in the cache with this identifier. Once stored, the attributes can be retrieved using the region attribute API: Example:
|
not set | ||||||||||||||
| ignore-jta | Boolean that determines whether operations on this region participate in active JTA transactions or ignore them and operate outside of the transactions. This is primarily used in cache loaders, writers, and listeners that need to perform non-transactional operations on a region, such as caching a result set. API: Example:
|
false | ||||||||||||||
| index-update-type | Specifies whether region indexes are maintained synchronously with region modifications, or asynchronously in a background thread. In the API: Example:
|
synchronous updates | ||||||||||||||
| initial-capacity | Together with the API: Example:
|
16 | ||||||||||||||
| is-lock-grantor | Determines whether this member defines itself as the lock grantor for the region at region creation time. This only specifies whether the member becomes lock grantor at creation and does not reflect the current state of the member’s lock grantor status. The member’s lock grantor status may change if another member subsequently defines the region with API: Example:
|
false | ||||||||||||||
| load-factor | Together with the initial-capacity region attribute, sets the initial parameters on the underlying
Note:
Before you set this attribute, read the discussion of initial capacity and load factor, then see the Java API documentation for API: Example:
|
.75 | ||||||||||||||
| mirror-type | Deprecated | |||||||||||||||
| multicast-enabled | Boolean that specifies whether distributed operations on a region should use multicasting. To enable this, multicast must be enabled for the distributed system with the API: Example:
|
false | ||||||||||||||
| pool-name | Identifies the region as a client region and specifies the server pool the region is to use. The named pool must be defined in the client cache before the region is created. If this is not set, the region does not connect to the servers as a client region. API: Examples: This declaration creates the region as a client region with a server pool named DatabasePool. This pool-name specification is required, as there are multiple pools in the client cache:
This declaration creates the region as a client region assigned the single pool that is defined for the client cache. Here the pool-name specification is implied to be the only pool that exists in the cache:
|
not set | ||||||||||||||
| disk-store-name | Assigns the region to the disk store with this name from the disk stores defined for the cache. Persist region data to disk by defining the region as persistent using the Shortcut Attribute Options or data-policy settings. Overflow data to disk by implementing LRU eviction-attributes with an action of overflow to disk. Each disk store defines the file system directories to use, how data is written to disk, and other disk storage maintenance properties. In addition, the API: Example:
|
null | ||||||||||||||
| disk-synchronous | For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region. API: Example:
|
true | ||||||||||||||
| refid | Retrieves region shortcuts and user-defined named region attributes for attributes initialization API: Example:
|
not set | ||||||||||||||
| scope | Definition: Determines how updates to region entries are distributed to the other caches in the distributed system where the region and entry are defined. Scope also determines whether to allow remote invocation of some of the region’s event handlers, and whether to use region entry versions to provide consistent updates across replicated regions.
Note:
You can configure the most common of these options with region shortccuts in
Note:
Server regions that are not partitioned must be replicated with Set one of the following scope values:
setScope
Example:
|
distributed-no-ack | ||||||||||||||
| statistics-enabled | Boolean specifying whether to gather statistics on the region. Must be true to use expiration on the region. Geode provides a standard set of statistics for cached regions and region entries, which give you information for fine-tuning your distributed system. Unlike other Geode statistics, statistics for local and distributed regions are not archived and cannot be charted. They are kept in instances of org.apache.geode.cache.CacheStatistics and made available through the region and its entries through the Region.getStatistics and Region.Entry.getStatistics methods.
API: Example:
|
false | ||||||||||||||
| cloning-enabled | Determines how API: Example:
|
false | ||||||||||||||
| concurrency-checks-enabled | Determines whether members perform checks to provide consistent handling for concurrent or out-of-order updates to distributed regions. See Consistency for Region Updates.
Note:
Applications that use a API: Example:
|
true | ||||||||||||||
| off-heap | Specifies that the region uses off-heap memory to store entry values, including values for region entries and queue entries. The region will still use heap memory for everything else, such as entry keys and the ConcurrentHashMap. API: Example:
|
false |
: Table 18. Attributes
<index>
Describes an index to be created on a region. The index node, if any, should all come immediately after the “region-attributes” node. The “name” attribute is a required field which identifies the name of the index. See Working with Indexes for more information on indexes.
Default:
API: org.apache.geode.cache.query.QueryService.createIndex, createKeyIndex, createHashIndex
| Attribute | Description | Default |
|---|---|---|
| name | Required. Name of the index. | |
| from-clause | Specifies the collection(s) of objects that the index ranges over. The from-clause must only contain one and only one region path. | |
| expression | Specifies the lookup value of the index. | |
| imports | String containing the imports used to create the index. String should be specified in the query language syntax with each import statement separated by a semicolon. The imports statement provides packages and classes used in variable typing in the indexed and FROM expressions. | |
| key-index | True or false. Whether the index should be a key index. If true, the region key specified in the indexed expression is used to evaluate queries | |
| type | Possible values are “hash” or “range”. | range |
: Table 19. Attributes
Example:
<region name=exampleRegion>
<region-attributes . . . >
</region-attributes>
<index
name="myIndex"
from-clause="/exampleRegion"
expression="status"/>
<index
name="myKeyIndex"
from-clause="/exampleRegion"
expression="id" key-index="true"/>
<index
name="myHashIndex"
from-clause="/exampleRegion p"
expression="p.mktValue" type="hash"/>
...
</region>
<entry>
An “entry” element describes an entry to be added to a region. Note that if an entry with the given key already exists in the region, it will be replaced.
Default:
API: org.apache.geode.cache.Region.create
, put
, get
, putAll
, getAll
Example:
<region ...>
<region-attributes ...>
...
</region-attributes>
<entry>
<key><string>MyKey</string></key>
<value><string>MyValue</string></value>
</entry>
</region>
<key>
Required. Describes the key in a region entry. A key can contain either a <string> or a <declarable> sub-element.
<string>
Specifies a String to be placed in a Region entry.
Example:
<region ...>
<region-attributes ...>
...
</region-attributes>
<entry>
<key><string>MyKey</string></key>
<value><string>MyValue</string></value>
</entry>
</region>
<declarable>
Specifies a Declarable object to be placed in a Region entry.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: Declarable
Example:
<parameter name="cacheserver">
<declarable>
<class-name>org.apache.geode.addon.cache.CacheServerInitializer</class-name>
<parameter name="system.property.prefix">
<string>cacheserver</string>
</parameter>
</declarable>
</parameter>
<value>
Required. Describes the value of a region entry. A <value>
can contain either a <string>
or a <declarable>
sub-element.
<string>
Specifies a String to be placed in a Region entry.
Example:
<region ...>
<region-attributes ...>
...
</region-attributes>
<entry>
<key><string>MyKey</string></key>
<value><string>MyValue</string></value>
</entry>
</region>
<declarable>
Specifies a Declarable object to be placed in a Region entry.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements.
API: Declarable
Example:
<parameter name="cacheserver">
<declarable>
<class-name>org.apache.geode.addon.cache.CacheServerInitializer</class-name>
<parameter name="system.property.prefix">
<string>cacheserver</string>
</parameter>
</declarable>
</parameter>
<region>
Defines a region in the cache. See <region-attributes> for more details on configuring regions. You can specify zero or more subregions within a region. See Create and Access Data Subregions for restrictions on creating subregions. For example, you cannot create a partitioned subregion.
Default:
API: org.apache.geode.cache.RegionFactory
or org.apache.geode.cache.ClientRegionFactory
| Attribute | Description | Default |
|---|---|---|
| name | Specify the name for the region. See Region Management for details. | |
| refid | Used to apply predefined attributes to the region being defined. If the nested “region-attributes” element has its own “refid”, then it will cause the “refid” on the region to be ignored. The “refid” region attriibute can be set to the name of a RegionShortcut or a ClientRegionShortcut. For more information, see Region Shortcuts and Custom Named Region Attributes and Storing and Retrieving Region Shortcuts and Custom Named Region Attributes. |
: Table 20. Attributes
Example:
<!--Using region shortcut-->
<region
name="PartitionedRegion"
refid="PARTITION_REDUNDANT">
...
</region>
<!-- Retrieving and storing attributes -->
<region-attributes
id="myPartition"
refid="PARTITION_REDUNDANT">
<partition-attributes
local-max-memory="512"/>
</region-attributes>
<!-- Attributes are retrieved and applied in the first region -->
<region name="PartitionedRegion1" refid="myPartition"/>
See<region-attributes> for a complete listing of region attributes.
<function-service>
Configures the behavior of the function execution service.
Example:
<client-cache>
...
</region>
<function-service>
<function>
<class-name>com.myCompany.tradeService.cache.func.TradeCalc</class-name>
</function>
</function-service>
...
</client-cache>
<function>
Defines a function for registration in the function service
Specify the Java class for the function and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
Default:
API: org.apache.geode.cache.execute.FunctionService
Example:
<function>
<class-name>
com.myCompany.tradeService.cache.func.TradeCalc
</class-name>
</function>
<resource-manager>
A memory monitor that tracks cache size as a percentage of total heap or off-heap memory and controls size by restricting access to the cache and prompting eviction of old entries from the cache. For tenured heap, used in conjunction with settings for JVM memory and Java garbage collection. For off-heap memory, used with the off-heap memory manager.
API: org.apache.geode.cache.control.ResourceManager
| Attribute | Description | Default |
|---|---|---|
| critical-heap-percentage | Percentage of heap at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions.
Only one change to this attribute or critical heap percentage will be allowed at any given time and its effect will be fully realized before the next change is allowed. This feature requires additional VM flags to perform properly. See |
0 |
| eviction-heap-percentage | Set the percentage of heap at or above which the eviction should begin on Regions configured for HeapLRU eviction. Changing this value may cause eviction to begin immediately. |
|
| critical-off-heap-percentage | Percentage of off-heap memory at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions. | 0 |
| eviction-off-heap-percentage | Set the percentage of off-heap memory at or above which the eviction should begin on Regions configured for HeapLRU eviction. |
|
: Table 21. Attributes
Example:
<client-cache>
...
<resource-manager
critical-heap-percentage="99.9"
eviction-heap=-percentage="85"/>
...
</client-cache>
<serialization-registration>
Set of serializer or instantiator tags to register customer DataSerializer extensions or DataSerializable implementations respectively.
Example:
<serialization-registration>
<instantiator id="30">
<class-name>com.package.MyClass</class-name>
</instantiator>
</serialization-registration>
<serializer>
Allows you to configure the DataSerializer for this Geode member. It registers a custom class which extends DataSerializer to support custom serialization of non-modifiable object types inside Geode.
Specify the Java class for the DataSerializer
and its initialization parameters with the <class-name>
sub-element.
API: You can also register a DataSerializer
by using the org.apache.geode.DataSerializer.register
API. Use the org.apache.geode.Instantiator
API to register a DataSerializable
implementation.
<instantiator>
An Instantiator registers a custom class which implements the DataSerializable
interface to support custom object serialization inside Geode.
Specify the Java class and its initialization parameters with the <class-name>
sub-element.
API: DataSerializable
You can also directly specify <instantiator>
as a sub-element of <client-cache>
. Use the org.apache.geode.Instantiator
API to register a DataSerializable
implementation as the serialization framework for the cache. The following table lists the attribute that can be specified for an <instantiator>
.
| Attribute | Description | Default |
|---|---|---|
| id | Required. ID that the Instantiator should associate with the DataSerializable type. |
: Table 22. Attributes
<initializer>
Used to specify a callback class (and optionally its parameters) that will be run after the cache is initialized. This element can be specified for both server and client caches.
Specify the Java class and its initialization parameters with the <class-name>
and <parameter>
sub-elements. See <class-name> and <parameter>.
Default:
API: Declarable
Example:
<initializer>
<class-name>MyInitializer</class-name>
<parameter name="members">
<string>2</string>
</parameter>
</initializer>


POSITION
Point Guard
BORN
Akron, Ohio
LISTED HEIGHT
6'3
COLLEGE
Davidson (2006-2009)
NBA DRAFT
2009 / Round: 1 / Pick: 7th overall. Selected by Golden State Warriors
PLAYING STYLE
Curry's shooting ability ranges from scoring in great volume from
underneath the rim all the way to near half-court. Using an unorthodox
jump shot, he is able to get the ball out of his hands in under half a
second by releasing it on the way up, adding extra arc to his shot and
making it difficult to block
NICKNAMES
Steph, Baby-Faced Assasin, Chef Curry, The Human Torch, Threezus
AWARDS
3x NBA Champion (2015, 2017, 2018)
2x NBA MVP (2015,2016)
6x NBA All-Star
NBA steals leader (2016)
50-40-90 club (2016)


Use async/await with promise-based functions to write asynchrnous code that behaves synchronously.
html head title link script The six header tags p article section main nav header footer Itemized list tags ul ol li a img Tabular-data tags table thead tbody tfoot tr th td


--- layout: default title: Home ---
Thanks for checking out my website. You can get to know my professional qualifications, my personal interests,
or just take a look at some of the projects I'm currently working on.
If you have any question or would like to get in touch, feel free to reach out to me through any of the channels
below.


Featured Recipes
At Skillet & Shaker our mission is to streamline your search for great food and drinks, by helping you find exactly what you're looking for. Spend less time searching, and more time indulging. Take a look at our featured recipes for insipration, or use the searches to narrow down your next meal or cocktail!
Fried Chicken Sandos
Recipe LinkThe Perfect Old Fashioned
Recipe Link


Everton’s Gomes to have surgery on broken ankle
LONDON, Nov 4 — Everton midfielder Andre Gomes will have surgery today after suffering a fracture-dislocation to his right ankle in their Premier League match against Tottenham Hotspur, his club have said.
The Portugal international sustained the injury in the 1-1 draw at Goodison Park yesterday after landing off balance at speed following a tackle from Spurs forward Son Heung-min.
Everton released a statement confirming Gomes would need surgery but did not set out a timeline for his return.
Manager Marco Silva has backed the 26-year-old to make a full recovery.
“We will give all support to Andre and his family,” Silva told reporters. “As a group we have to stay together.
“He is seriously injured but I am 100 per cent sure Andre will become stronger as a football player and as a man because he is a fantastic lad, a fantastic professional.”
Son was shown a red card for his part in the incident and was in tears in the dressing room afterwards.
Today, the 27-year-old was called up to the South Korea squad for two matches later this month and national team coach Paulo Bento said his international team mates would rally around him.
“What happened in that match is really unfortunate,” Bento told Yonhap News Agency. “It doesn’t matter which country a player is from. You never want to see anyone get hurt that seriously, but it’s also part of the game.
“Heung-min has to pick things up and move forward, and we’ll try to help him the best we can.”
South Korea play Lebanon in a World Cup qualifier on November 14 before facing Brazil in a friendly five days later in Abu Dhabi. — Reuters


Probability is a specific type of ratio that allows the comparison of specific outcomes with the entire group of outcomes. We see probability expressed in three ways: as a fraction ranging from 0 to 1, as a decimal ranging from 0 to 1, and as a percentage ranging from 0% to 100%. All three of these expressions allow us to see a part and a whole, even if in the case of decimals and percentages where the whole is adjusted to be a multiple of ten. These different expressions can be seen in the Probability Scale below.
in-context


{% extends 'base.html' %} {% block body_block%}
Get Current weather data from Weatherstack and save it to HDFS
{{ status }}


stream.scotty.core.windowFunction
Interfaces
AggregateFunction
CommutativeAggregateFunction
InvertibleAggregateFunction
InvertibleReduceAggregateFunction
ReduceAggregateFunction


{% include custom/footer.html %}. Powered by Octopress, Github Pages, GitHub. Design credit: Shashank Mehta.


The Best New Deals + Exclusive Offers from RetailMeNot!
Get $5 Off $50 or More at Home Depot Through May 27th!
More top offers include:
Fandango: Save $7 On Any Movie Ticket. Limited Quantity. Available Friday.
Lands’ End: 30% Off Sitewide + Free Shipping on $50 or More
Macy’s: Up to 75% Off at the Clearance Sale + Free Shipping on $99 or More
Vera Bradley: $30 Off $100 + Free Shipping on $75
& many more at www.retailmenot.com
Copyright 2013 RetailMeNot, Inc. 301 Congress Avenue, Suite 700, Austin, Texas 78701


Data table
Data table refers to a matrix of information, like an excel spreadsheet with columns, rows, and data. It is used to present raw data sets, and usually appear in desktop enterprise products.
We have used Bootstrap Data table as a reference which we have then customized based on our Propeller theme.
For more options and documentation, visit: Data table
Propeller Data table
In its simplest form, a data table contains a top row of column names, and rows for data. Checkboxes should accompany each row if the user needs to select or manipulate data.
| First name | Last name | Position | Office | Age | Start date | |
|---|---|---|---|---|---|---|
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | |
| Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | |
| Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | |
| Herrod | Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | |
| Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | |
| Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | |
| Herrod | Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | |
| Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | |
| Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | |
| Herrod | Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | |
| Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | |
| Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | |
| Herrod | Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | |
| Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | |
| Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | |
| Herrod | Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 |
Responsive Data table
Some table cards may require headers with actions instead of titles. Two possible approaches to this are to display persistent actions, or a contextual header that activates when items are selected. Create basic table with responsive by simply adding .table-responsive
class in your code.
| First name | Last name | Position | Office | Age | Start date | Salary | Extn. |
|---|---|---|---|---|---|---|---|
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Tiger | Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |
| Garrett | Winters | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |
| Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
| Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
| Shad | Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $183,000 | 6373 |
| Michael | Bruce | Javascript Developer | Singapore | 29 | 2011/06/27 | $183,000 | 5384 |
| Donna | Snider | Customer Support | New York | 27 | 2011/01/25 | $112,000 | 4226 |
Inverse Table
Create Inverse Table by adding .table-inverse
class in your code.
| First name | Position | Office | Age | Start date | Salary | Extn. | ||
|---|---|---|---|---|---|---|---|---|
| Tiger | System Architect | Edinburgh | 61 | 2011/04/25 | $320,800 | 5421 |<EMAIL_ADDRESS>| |
| Garrett | Accountant | Tokyo | 63 | 2011/07/25 | $170,750 | 8422 |<EMAIL_ADDRESS>| |
| Ashton | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |<EMAIL_ADDRESS>| |
| Cedric | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |<EMAIL_ADDRESS>| |
| Airi | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |<EMAIL_ADDRESS>| |
| Brielle | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |<EMAIL_ADDRESS>| |
| Herrod | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | 9608 |<EMAIL_ADDRESS>| |
| Airi | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |<EMAIL_ADDRESS>| |
| Brielle | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |<EMAIL_ADDRESS>| |
| Herrod | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | 9608 |<EMAIL_ADDRESS>| |
| Airi | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |<EMAIL_ADDRESS>| |
| Brielle | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |<EMAIL_ADDRESS>| |
| Herrod | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | 9608 |<EMAIL_ADDRESS>| |
| Airi | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |<EMAIL_ADDRESS>| |
| Brielle | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |<EMAIL_ADDRESS>| |
| Herrod | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | 9608 |<EMAIL_ADDRESS>| |
| Airi | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |<EMAIL_ADDRESS>| |
| Brielle | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |<EMAIL_ADDRESS>| |
| Herrod | Sales Assistant | San Francisco | 59 | 2012/08/06 | $137,500 | 9608 |<EMAIL_ADDRESS>|


gist.hh File Reference
(Revision: 12665)
#include <gecode/kernel.hh>
#include <gecode/search.hh>
#include <gecode/int.hh>
#include <gecode/set.hh>
#include <gecode/float.hh>
#include <gecode/support/auto-link.hpp>
#include <string>
#include <sstream>
#include <gecode/gist/gist.hpp>
Go to the source code of this file.
Classes | |
| class | Gecode::Gist::Inspector |
| Abstract base class for inspectors. More... | |
| class | Gecode::Gist::Comparator |
| Abstract base class for comparators. More... | |
| class | Gecode::Gist::TextOutput |
| An window for simple text output. More... | |
| class | Gecode::Gist::Print< S > |
| An inspector for printing simple text output. More... | |
| class | Gecode::Gist::VarComparator< S > |
| A simple comparator. More... | |
| class | Gecode::Gist::Options |
| Options for Gist More... | |
| class | Gecode::Gist::Options::_I |
| Helper class storing inspectors. More... | |
Namespaces | |
| namespace | Gecode |
Gecode toplevel namespace | |
| namespace | Gecode::Gist |
The Gecode Interactive Search Tool. | |
Defines | |
| #define | GECODE_GIST_EXPORT |
| #define | GECODE_LIBRARY_NAME "Gist" |
Functions | |
| void | Gecode::Gist::stopBranch (Space &home) |
| A branching that stops exploration. | |
| int | Gecode::Gist::explore (Space *root, bool bab, const Options &opt) |
| Create a new stand-alone Gist for root using bab. | |
| int | Gecode::Gist::dfs (Space *root, const Gist::Options &opt=Gist::Options::def) |
| Create a new stand-alone Gist for root. | |
| int | Gecode::Gist::bab (Space *root, const Gist::Options &opt=Gist::Options::def) |
| Create a new stand-alone Gist for branch-and-bound search of root. |


Book reservations
Back to home page
Booking Form
Date
COMPANY / CLIENT NAME
NUMBER OF GUESTS
AGREED MINIMUM SPEND*
START TIME
FINISH TIME
NAME
MOBILE
TELEPHONE
EMAIL
Kindly, here are the resorts
The charming lono lodge watamu
Hilton Hotel
Villa Rosa Kempinski
Kenturkey Fried Chicken
Amber Hotel
Zen garden


INTRODUCTION TO DHTINY
| Visit DHTiny mail group |
Firstly, this library is written to make javascript source code shorter, stronger and more reusable. DHTiny brings a set of “shorcut” attributes and function name to help web developers write strong inline commands, and allows us extend that set freely later.
Secondly, DHTiny provides a lot of methods used for quick DOM processing. Because I overloaded almost all of them, web developers just have to remember a few function names, but can do many kinds of job (Eg: According to given parameters, a method can be a GET or SET method, at both object scope and global scope at the same time).
Thirdly, DHTiny gives support to cross-browser, AJAX & object-oriented programming. Some people might find that prototype extending and instance management are quite interesting functionalities of DHTiny.
Latest version of DHTiny is 0.5.1, tested on IE 6+, Firefox 2+, Opera 9+, Mac Safari for Win 3+.
THE IDEA OF WRITING A JAVASCRIPT LIBRARY FROM SCRATCH
I have just started writing Web 2.0 applications for nearly 7 months. Formerly, javascript in my thoughts was just something that is used to support web designing and merely create some mediocre effects on web browser, not a fully-feartured OOP language such as C++ or Java. But when I spent some days in playing around with AJAX, trying creating some reusable web components by javascript, I found that a prototype language like javascript can do much more than that.
Because JS is a “portable” programming language that can be coded and executed almost anywhere without a specific compiler, I felt the fun in writing JS snippets with just a plain text editor then test them on web browsers in my leisure time. Everything was fine until I had to build a really big web component. I get bored with so many problems (cross-browser, long syntax, OOP,...). In fact, those problems can be solved quite well by using a JS library. But I don’t like to attach a heavy library with some thousands line of code to my web applications, don’t want to spend much time on learning new sophisticated syntax, and besides, no one of currently most famous JS librarys can satisfy my coding style.
Finally, I decided to write a whole new little library from scratch, in order to be able to write JS code in the way that I like (short, flexible, and strong), and never care about the weight of it. After 1 months without any Sunday or Saturday, I’ve finished my library DHTiny while writing another project for the customer.
I don’t aim my best efforts at making my DHTiny to be a well-known one, but I hope that some people will encourage my ideas including inside it. Now take a look at DHTiny developer's guide to see how it works.


Speech
Education Secretary Nicky Morgan speaks about her vision of all schools becoming academies.
Thank you, Tom [Clark, Chair of Freedom and Autonomy for Schools - National Association ( FASNA )], for that introduction.
It’s such a pleasure to be here with you today. I know my colleague, Lord Nash, has been a regular visitor to the show. It is with thanks to the incredible teaching profession that we now have 1.4 million more children in ‘good’ or ‘outstanding’ schools. And you are the vanguard, leading the way and showing just what can be done with the autonomy offered by the academies programme. You have seized the opportunities to lead school improvement from the front, offering a world-class education and a bright future to more young people than ever before.
But I know that academy status doesn’t raise standards as a matter of course. What I believe is that academy status means that you have the vehicle by which we can achieve higher standards and that you - the excellent leaders in the system - are the drivers, using it to propel schools to success.
Academy status puts the power in your hands to innovate and try new things to get great results, you put in place local solutions and you can make long-term plans based on the needs of the children in your communities. This is a crucial rejection of the outdated, one-size-fits-all approach of the past, freeing your schools from the diktats of local and national governments.
Academies make it easier for you to recruit, train, develop and deploy better teachers and leaders in your schools and trusts; they allow you to recognise the expertise of any person who can have a positive impact for young people; pay them what you think they’re worth; and give them a clear path to career progression that will keep them engaged rather than looking for opportunities elsewhere.
We know there are lots of models for operating academies but we think many will choose - as many of you have already - to work in local clusters, supporting each other to succeed. But let me be absolutely clear that there is a place for successful and sustainable stand-alone academies and we will never put pressure on them to subscribe to a different model.
Right now 66% of secondary schools and 19% of primary schools are already enjoying the freedoms that come with academy status but there are schools, teachers and pupils that have been denied those freedoms and their associated opportunities for far too long.
So yes, we will ensure that - by 2022 - all schools become part of the dynamic academies system. The fact is that even if we didn’t, three-quarters of secondary and a third of primary schools would have converted to academy status by 2022 anyway.
That trajectory makes it impossible for local authorities to manage expensive bureaucracies with fewer and fewer schools. Resources are better focused in the classroom than on servicing inefficient bureaucratic structures. LAs themselves have expressed concerns about the sustainability of the situation and those concerns have been echoed by schools.
And yes, ‘good’ maintained schools will need to become academies too. So they can become sponsors and support those schools which are not meeting the high standards pupils need. But also because we do believe the freedoms that come with academy status will allow those ‘good’ schools to improve even further and achieve even more for their pupils.
We have deliberately given schools plenty of time - 6 years - to plan their transition so that they are in a position to make well thought out decisions in the best interests of their students and their local communities.
Many academies already work closely with their local authorities and we see no reason why that should change. LAs will continue to offer services which schools can pick and choose to purchase; they will continue to provide services for children with special educational needs; and they will continue to have a duty to provide school places for all children.
We believe this change in LAs ’ relationship to schools will give them the opportunity to truly fulfil their role as advocates for parents and pupils. They will cease to be central service providers and will instead become champions of those in our schools.
Many of the critical voices of our vision point to the fact that we have seen some academies fail. But that doesn’t take account of the swift intervention offered by the academy route - which will now become the norm - and the range of solutions which will be offered to schools in difficulties.
We have already shown that we can respond quickly in the few instances where academies do underperform. We have issued 154 formal notices to underperforming academies and free schools , changing their leadership in 129 cases. And the powers introduced by the Education and Adoption Act - recently passed by Parliament - mean we can do that more quickly, ensuring that schools cannot continue to fail or coast - putting the future success of young people at risk.
We want you to seize the opportunities, in a new system of supported autonomy, to re-mould schools that aren’t working in the image of the successful schools you are already leading.
Too many children are still denied the access to excellent education that I believe should be their birth right. It is a matter of social justice for every child to have access to a good education, regardless of their background. But we know - and the white paper showed - that in some parts of the country that just isn’t happening. And as I have made clear the “everywhere” in educational excellence everywhere is, for me, non-negotiable. So we need to make sure that what is already happening in the best of our schools spreads to the rest of our schools.
I know from my conversations with teachers up and down the country that you go into teaching because you want to have a positive impact on the lives of young people. We want you to be able to do that for as many of them as possible, particularly in those areas currently lagging behind. The young people in areas of particular challenge need you to build capacity in the system. Without it they won’t be able to access the type of education that can deliver them bright futures. For our part we will do all we can to remove the barriers that might otherwise discourage you from rising to those challenges.
The proposals put forward in our ‘ Educational excellence everywhere’ white paper concentrate on building the framework that will allow you to succeed. If academies are the vehicle for success then I want you, as the drivers, to get in the driving seat safe in the knowledge that you are supported throughout the journey.
The white paper outlines our plans to put more power into the hands of the best leaders; expand teaching schools and NLEs and target their reach so no areas will be without access; ensure teaching schools co-ordinate and define high-quality ITT and CPD , as well as acting as brokerage hubs to facilitate school-to-school support; put in place a new fairer funding formula and target funding so the best leaders can build capacity for support; and create a growth fund for multi-academy trusts as well as an excellence in leadership fund to develop innovative new leadership ideas for challenged areas.
We are going to incentivise work in challenging areas by offering inspection holidays to give you enough time to truly make your mark on schools, and through accountability that focuses on progress - rather than simply attainment - as a measure of success; create achieving excellence areas so the schools in the most need can get better access to excellent teachers and leaders; and crucially we will create a national teaching service so we can recruit and retain the best teachers where they are needed most.
Far from being about academy status alone, our white paper is about nurturing great teachers, developing great leaders, tackling underperformance, targeting intervention, resourcing that’s fair and accountability that’s intelligent. Taken as a whole it represents a new era for the education system, one with opportunities and incentives for you to spread your reach so we really can realise excellence in every part of the country and in every school.
In closing let me take this opportunity to say: thank you - for everything you are already doing to change the lives of young people. And let me urge you to seize the opportunities in the new era of education outlined by our white paper. Let me encourage you to use your incredible expertise to ‘inspire success and excellence’ in every part of the system. Let me say as your Secretary of State, how honoured I feel to see you telling the story of your own success.
With you, the professionals, rightly at the helm of the education system I know we will make educational excellence everywhere a reality.
Thank you.
Published: 20 April 2016


[Jan][Feb][Mar][Apr][May][Jun][Jul][Aug][Sep][Oct][Nov][Dec]
January
1
Mary, Mother of God
2
Basil and Gregory
Nazianzen
3 The Most Holy Name of Jesus
7
Raymond of Penyafort
9
Adrian
13
Hillary
17
Anthony, abbot
20
Fabian and Sebastian and Cyprian Tansi
21
Agnes
22
Vincent,
deacon
24
Francis de Sales
25
Paul, conversion
26
Timothy and Titus
27 Angela Merici
28 Thomas Aquinas
31 John Bosco
(top)
February
2
Presentation
3
Blase and Ansgar
5
Agatha
6
Paul Miki and companions
8
Jerome Emiliani and Josephine Bakhita
10
Scholastica
11
Our Lady of Lourdes
14
Cyril, monk and Methodius
17
Servites, Founders of
21
Peter Damian
22
Peter, chair of
23
Polycarp
26
Alexander of Alexandria
(top)
March
4
Casimir
7
Perpetua and Felicity
8
John of God
9
Frances of Rome
17
Patrick
18
Cyril of Jerusalem
19
Joseph, husband of Mary
23
Turibius of Mongrovejo
25
Annunciation
(top)
April
2
Francis of Paola
4
Isidore or Benedict
5
Vincent Ferrer
7
John Baptist de la Salle
11
Stanislaus
12
Zeno
13
Martin I
20
Marcellinus Bishop
21
Anselm
23
George and Adalbert
24
Fidelis of Sigmaringen
25
Mark
27
Our Lady of Montserrat
28
Peter Chanel and Louis Grignion de Montfort
29
Catherine of Siena
30
Pius V and Our Lady, Mother of Africa
(top)
May
1
Joseph, the worker
2
Athanasius
3
Philip, apostle and James, apostle
12
Nereus and Achilleus and Pancras
13
Our Lady of Fatima
14
Matthias
18
John I
20
Bernardine of Siena
21
Christopher Magallanes and companions
22
Rita of Cascia
24
Our Lady Help of Christians
25
Bede the Venerable and Gregory VII and Mary Magdalene de Pazzi
26
Philip Neri
27
Augustine of Canterbury
29 Joseph Gerard
31
Visitation
(top)
June
1
Justin
2
Marcellinus and Peter, martyr
3
Charles Lwanga and companions
5
Boniface
6
Norbert
9
Ephrem
11
Barnabas
12
Onophrius
13
Anthony of Padua
19
Romuald
21
Aloysius Gonzaga
22
Paulinus of Nola and John Fisher and Thomas More
24
John the Baptist, Birthday
26
Josemaria Escriva
27
Cyril of Alexandria
28
Irenaeus
29
Peter, apostle and Paul, apostle
30
First Martyrs of the Church of Rome
(top)
July
3
Thomas, apostle
4
Elizabeth of Portugal
5
Anthony Zaccaria
6
Maria Goretti
9
Augustine Zhao Rong and companions
11
Benedict
13
Henry
14
Camillus de Lellis
15
Bonaventure
16
Our Lady of Mount Carmel
20
Apollinaris
21
Lawrence of Brindisi
22
Mary Magdalene
23
Bridget
24
Sharbel Makhluf
25
James, apostle
26
Joachim and Ann
28 Victor I
29
Martha
30
Peter Chrysologus and Justin De Jacobis
31
Ignatius of Loyola
(top)
August
1
Alphonsus Liguori
2
Eusebius of Vercelli and Our Lady of the Angels and Peter Julian Eymard
4
John Vianney
5
Dedication St. Mary Major
6
Transfiguration
7
Sixtus II and Cajetan
8
Dominic
9
Teresa Benedicta of the Cross
10
Lawrence, deacon
11
Clare
12 Jane
Frances de Chantal and Isidore Bakanja
13
Pontian and Hippolytus
14
Maximilian Mary Kolbe
15
Assumption
16
Stephen of Hungary
18 Victoria
Rasoamanarivo
19
John Eudes
20
Bernard
21
Pius X
22
Queenship of Mary
23
Rose of Lima
24
Bartholomew
25
Louis and Joseph Calasanz
27
Monica
28
Augustine of Hippo, bishop
29
John the Baptist, Beheading
(top)
September
3
Gregory the Great
8
Birthday of Mary
9 Peter
Claver
12 Most Holy
Name of Mary
13
John Chrysostom
14
Triumph of the Cross
15
Our Lady of Sorrows
16
Cornelius and Cyprian
17
Robert Bellarmine
19
Januarius
20
Andrew Kim Taegon and Paul Chong Hosang
21 Matthew
22 Maurice
23 Pius of Pietrelcina (Padre Pio)
24 Our lady of Ransom
26
Cosmas and Damian
27
Vincent de Paul
28
Wenceslaus and Lawrence Ruiz and companions
29
Michael and Gabriel and Raphael
30
Jerome
(top)
October
1
Teresa of the Child Jesus and Our Lady Queen of Nigeria
2
Guardian Angels
4
Francis of Assisi
6
Bruno
7
Our Lady of the Rosary
9
Denis and John
Leonardi
10 Daniel Comboni
14 Callistus I
15 Teresa of Jesus
16
Hedwig and Margaret Mary Alacoque
17
Ignatius
of Antioch
18
Luke
19
John de Brebeuf and Isaac Jogues and Paul of the Cross
20 Daudi
Okelo and Jildo Irwa
23
John of Capistrano
24
Anthony Claret
28
Simon and Jude
(top)
November
1
All Saints
2
All the Faithful Departed
3 Martin de Porres
4 Charles Borromeo
5 Severinus
6 All Saints
of Africa
9
Dedication the Lateran
10
Leo the Great
11
Martin de Tours
12
Josaphat
15
Albert the Great
16
Margaret of Scotland and Gertrude
17
Elizabeth
of Hungary
18
Dedication Ss. Peter and Paul
21
Presentation
22
Cecilia
24
Andrew Dung-Lac
25
Catherine of Alexandria
27 Our Lady
of Miraculous Medal
23
Clement I and Columban
30
Andrew
(top)
December
1 Clementine
Anwarite
3
Francis Xavier
4
John Damascene
6
Nicholas
7
Ambrose
8
Immaculate Conception
9
John Diego Cuahtlatoatzin
10
Our Lady of Loreto
11
Damasus I
12
Our Lady of Guadalupe
13
Lucy
14
John of the Cross
21
Peter Canisius
23
John of Kanty
25
Nativity
26
Stephen, first martyr
27
John, apostle
28
Holy Innocents
29
Thomas Becket
31
Sylvester
(top)