The changes in XMLink 3.00 include:
§ Changes in Connection Factory properties
§ Setting for XMLink.tconn
§ Improved XML support
§ Support for X_OCTET buffers
Changes to Connection Factory Properties
J2C 1.5 supports the notion of resource adapter properties, in addition to connection factory properties.
For XMLink 3.0, several of XMLink 2.60's connection factory properties (actually properties of ManagedConnectionFactoryImpl) were replaced with resource adapter properties. These are properties of the new ResourceAdapterImpl class.
No Default Setting for XMLink.tconn
The default setting for XMLink.tconn has been removed in XMLink 3.0, in favor of specifying the ConnectionType connection factory property. However, support is still available for setting this property either in the JVM or on the command line.
If XMLink.tconn is used, the native library is loaded when Tuxedo.class is loaded. Otherwise, using ConnectionType, the resource adapter is loaded only when it is started by the J2EE Application Server. For WebSphere 6, the administrative console does not let the user control starting and stopping the resource adapter, but some J2EE Application Servers support that.
Also, in the non-managed environment, ResourceAdapter.start is not called, so XMLink.tconn must be used.
Improved XML support
XMLink 3.0 contains improved XML support:
§ getXML() method is available on all Record classes.
This method returns a String containing the record contents in XML. The String is suitable for use with XMLink's XMLConnector class.
§ RecordFactoryImpl contains a new method:
public Record createRecordFromXML(String xml)
The xml String must be in the form supported by XMLConnector. Any type of XMLink Record may be created this way and initialized with data.
§ XMLConnector contains new methods:
throws ResourceException, SAXException, IOException
processResult processes the output from XMLConnector.process(), in order to produce an instance of the new class, XMLConnector.Result.
§ The new class XMLConnector.Result has the public properties serviceName, tuxBuffer, error, userReturnCode, xaction and next. There are also set and get methods for these properties. The get methods are as follows:
· public String getServiceName()
getServiceName() returns the value of a servicename attribute for either a returndata or error tag.
· public TuxBuffer getTuxBuffer()
getTuxBuffer() returns the data within an FMLRecord, FML32Record, STRINGRecord, CARRAYRecord, or JAMFLEXRecord tag as an instance of TuxBuffer.
· public Throwable getError()
getError() returns the contents of an error tag as a throwable. The throwable may actually be an instance of TuxedoException.
· public long getUserReturnCode()
getUserReturnCode() returns the data within a UserReturnCode tag as a long. It is assumed that a return of 0 has no particular significance, and is not indicative of the presence of a UserReturnCode tag in the input stream.
· public int getXaction()
getXaction returns an int. If this int is 0, no xaction tag was read from the input. Otherwise, it will have one of the following values:
· public Result getNext()
getNext() returns the next Result instance in a linked list. The head of the list returned by the first returndata, xaction, or error tag encountered. Additional such tags cause new Result instances to be appended to the list.