Navigation
Home
SourceForge Home
Articles on Java
Getting Started
Essence Documentation
Download
Contact
Get rewarded for helping out
Email A Question
Weblog
|
Getting StartedBefore you start from scratch you may want to look
at the demo application Essence JMS. This is a working example.
Step 1: download Essence FrameworkEssence can be downloaded by
clicking on the link in the left tool bar.
Step 2: Unpack the ZIPThe minimum you need to
essence-{version}.jar. The debug version essence-g-{version}.jar contains
the debugging information and the source. If space is not important take the
essence-g-{version}.jar
Step 3: Take a copy of the empty configIn the config
directory there is an empty configuration.
Empty Essence Configuration
Step 4: Add the components for your systemThe component name is
used to reference the component. You can have multiple instance of the same
class. The logical process determines whether components share the same
thread. Components in the same logical process can refer to each other
directly. Components in different logical process must communicate via
Collections or a messaging system.
Components
| component |
className |
logicalProcess |
purpose |
| {component-name} |
{class-name} |
{name of thread to run the component} |
{a comment on the purpose} |
Step 5: Set the properties for each componentComponent properties
are added here. For each property there must be a field in the component
with that name. There must also be a constructor which takes the properties
in the order the fields are defined in the component's class.
ComponentProperties
| component |
property |
value |
| {component-name} |
{property-name} |
{value} |
Step 6: Set the references for each componentComponent references
are added here. Components in the same logical process can reference each
other or a a shared component created by a ComponentBuilder. There must also
be a constructor which takes the properties in the order the fields are
defined in the component's class.
ComponentReferences
| component |
reference |
componentReferenced |
| {component-name} |
{reference-name} |
{component-referenced} |
Step 7: Set any shared componentsShared/distributed collections can
be added here. A collection can be a
Map
or a
BlockingQueue (or both)
Collections
| collection |
collectionType |
storeType |
valueClass |
location |
readMode |
persistMode |
| {collection-component-name} |
ANY/ MAP/ QUEUE |
{storeage-type} |
{class of values in collection} |
{location in classpath/URL} |
ANY/ MINIMAL/ NONE/ ALL |
ANY/ NONE/ DISABLE/ ASYNC/ SYNC/ SEMI_SYNC |
The
CollectionType determines how a collection can be accessed. The
valueClass is the class of values (for
Map)
and elements (for
BlockingQueue). The collection can also be accessed as a
Store
give access to additional methods such as getListenerSet() which allows
listening of changes or event driven processing. (Even if the queue/map is a
remote one) The location is the class path resource location, URL or
file system location. For MEMORY collection type
Step 8: Start you applicationYou can start your application with
org.jtoolkit.essence.app.Main class.
Example configurations
This configuration is for JMS broker in two-way clustering.

This is the configuration for a JMS client to connect to one the two
brokers. The brokers then replicate themselves.

|