See: Description
Interface | Description |
---|---|
GbjClientAdapter |
This interface must be implemented by objects that will forward messages from
a GemStone server to a client object
|
GbjObservable |
This interfaces allows objects implementing GbjObserver to monitor an object such
as a GbjSession
|
GbjObserver |
This interface allows objects to monitor events in GbjObservables such as
GbjSession instances
|
Class | Description |
---|---|
DoubleByteString |
A wrapper class for Strings that should be converted to GemStone DoubleByteStrings
on transmission to the server.
|
GbjCollection |
This subclass of GbjObject represents server instances of Collection or one
of its subclasses.
|
GbjGemStoneErrors |
This class provides variables for all of the error numbers associated
with GbjExceptions that have category GemStoneError.
|
GbjIterator |
Instances of this class iterate over collections in the GemStone server.
|
GbjKernelObjects |
Instance of this class hold pre-defined stubs for many GemStone
server objects.
|
GbjObject |
Instances of this class represent server objects in a GemStone server.
|
GbjParameters |
Instances of this class are used to specify the information needed to
configure a GemStone session.
|
GbjPoller |
GbjPoller provides support for a polling thread that keeps track
of asynchronous errors and triggers an appropriate method when they
occur.
|
GbjSession |
A GbjSession is used to communicate with a GemStone server process.
|
GbxConstants |
Constants used internally by GBJ
|
Exception | Description |
---|---|
GbjAbortingException |
This class represents a GemStone server exception that forced a rollback of the
current transaction.
|
GbjCompilerException |
This class represents a GemStone server compilation exception.
|
GbjEventException |
This class represents an event that has occurred in the server.
|
GbjException |
This class represents a GemStone server exception.
|
GbjFatalException |
This class represents a GemStone server exception that requires termination of the session.
|
GbjInternalException |
This class represents an unexpected GemStone server exception that could not
be properly handled by GemStone.
|
GbjNonKernelException |
This class represents an exception that was signaled with an error category other
than GemStoneError in the server.
|
GbjRuntimeException |
This class represents a GemStone server runtime exception, such as a key not being
found in a dictionary, division by zero, message not understood, and so on.
|
In the following examples, "cf" indicates the client forwarder used in smalltalk.
For methods with no arguments, use the same name. For example, to call "next( )" in java, use "cf next".
For methods with one argument, add a ":" to the end of the java name. For example, to call "println(aString)" in java, use "cf println: aString".
For methods with more than one argument, add a ":" to the end of the java name as above, and then for each subsequent argument include an additional "xxx:" separator ending in ":" -- the characters are not significant. For example, to call "doComplexTask(x,y,z)" in java, use "cf doComplexTask: x arg2: y arg3: z" (note that "arg2:" and "arg3:" are not important, you could have just as easily used "y:" and "z:").
GbjSession s; // already connected
GbjObject sysout = s.clientObject(System.out);
GbjObject userGlobals = s.execute("UserGlobals");
GbjObject[] args = new GbjObject[2];
args[0] = s.execute("#sysout");
args[1] = sysout;
s.perform(userGlobals, "at:put:", args, 2);
// Now we can use the UserGlobals reference sysout to act as a client forwarder
// By using GS smalltalk code: "sysout println: 'desired string'".
// calling System.out.println("Now is the time..");
s.execute("sysout println: 'Now is the time..'");
// another way
args[0] = new GbjObject("Now is the time..", s);
s.perform(sysout, "println:", args, 1);
New method in GbjSession: setupExceptionHandler(), which provides a way for applications to define java code to act as exception handlers for various GemStone asynchronous errors, such as SigAbort and object change notification.
The GbjGci package includes classes GbjGciObject and GbjGciSession which are analogous to the original GBJ package variants GbjObject and GbjSession, and the core functionality of these classes have been moved to these GbjGci versions. GbjObject and GbjSession now extend the GbjGci versions.
Support for the GCI interface plus the new features has required some changes to classes in the GBJ package, especially GbjObject and GbjSession. These changes are documented in the respective class documentation pages. Also, a number of GBJ classes originally needed to support the original object marshalling scheme are no longer needed and have been removed from the product.
public void setName(String newName) {
name = newName;
sendMsg("setName:", newName);
}
protected void updateClient() {
...
name = sendMsg("name");
...
}
Refer to the section on Object Change Synchronization in the javadocs for
GbjGciObject for more details.
System enableSignaledGemStoneSessionError.
With GBJ30, activation is performed in java by setting the GbjSession public
boolean parameter monitorSessionSignals to true:
mySession.monitorSessionSignals = true;
GbjObject
GbjSession
GbjParameters
GbjKernelObjects
GbjIterator
com.gemstone.gbj.GbxLogger
DoubleByteString