|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xmlBlaster.util.SaxHandlerBase org.xmlBlaster.engine.cluster.NodeParser
public class NodeParser
XML parsing cluster node specific messages.
Example:<clusternode id='heron' maxConnections='800'> <!-- NodeParser --> <!-- Messages of type "__sys__cluster.node:heron": --> <!-- Parsed by NodeInfo.java --> <connect> <qos> <--! a ConnectQos markup --> <address type='IOR'>IOR:09456087000</address> <address type='XMLRPC'>http://www.mars.universe:8080/RPC2</address> <callback type='XMLRPC'>http://www.mars.universe:8080/RPC2</callback> <backupnode> <clusternode id='avalon'/> <clusternode id='golan'/> </backupnode> <nameservice>true</nameservice> </qos> </connect> <!-- Messages of type "__sys__cluster.node.domainmapping:heron": --> <!-- Parsed by NodeMasterInfo.java --> <master stratum='0' type='DomainToMaster'> <key queryType='DOMAIN' domain='RUGBY'/> </master> <!-- Messages of type "__sys__cluster.node.state:heron": --> <!-- Parsed by NodeStateInfo.java --> <state> <cpu id='0' idle='40'/> <ram free='12000'/> </state> </clusternode>Note that maxConnections is specific to message types "__sys__cluster.node:heron" The parsed data is directly written into the ClusterManager attributes TODO: Support full XmlScript syntax by using our xmlScript parser
Field Summary | |
---|---|
private ClusterManager |
clusterManager
|
private ServerScope |
glob
|
private java.lang.String |
id
The unique node id |
private int |
inClusternode
|
private boolean |
inConnect
|
private boolean |
inDisconnect
|
private boolean |
inMaster
|
private boolean |
inState
|
private static java.util.logging.Logger |
log
|
private java.lang.String |
ME
|
private SessionInfo |
sessionInfo
|
private ClusterNode |
tmpClusterNode
|
private NodeMasterInfo |
tmpMaster
|
private NodeConnectQos |
tmpNodeInfo
|
private NodeStateInfo |
tmpState
|
Fields inherited from class org.xmlBlaster.util.SaxHandlerBase |
---|
character, locator, xmlLiteral, xmlSource |
Constructor Summary | |
---|---|
NodeParser(ServerScope glob,
ClusterManager clusterManager,
java.lang.String xml,
SessionInfo sessionInfo)
Parses the XML markup of exactly one cluster node configuration. |
|
NodeParser(ServerScope glob,
ClusterNode clusterNode,
java.lang.String xml)
Constructor variant to only parse the <master> part of the XML. |
Method Summary | |
---|---|
void |
characters(char[] ch,
int start,
int length)
Characters. |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String name)
End element, event from SAX parser. |
ClusterNode |
getClusterNode()
Access the parsed ClusterNode object |
static void |
main(java.lang.String[] args)
For testing with JUnit: java org.xmlBlaster.test.cluster.NodeParserTest |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String name,
org.xml.sax.Attributes attrs)
Start element, event from SAX parser. |
Methods inherited from class org.xmlBlaster.util.SaxHandlerBase |
---|
comment, endCDATA, endDocument, endDTD, endEntity, endPrefixMapping, error, fatalError, getUseLexicalHandler, ignorableWhitespace, init, init, init, notationDecl, processingInstruction, setDocumentLocator, setUseLexicalHandler, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startPrefixMapping, toString, toXml, unparsedEntityDecl, warning |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static java.util.logging.Logger log
private java.lang.String ME
private final ServerScope glob
private final ClusterManager clusterManager
private java.lang.String id
private int inClusternode
private ClusterNode tmpClusterNode
private boolean inConnect
private NodeConnectQos tmpNodeInfo
private boolean inMaster
private NodeMasterInfo tmpMaster
private boolean inState
private NodeStateInfo tmpState
private boolean inDisconnect
private final SessionInfo sessionInfo
Constructor Detail |
---|
public NodeParser(ServerScope glob, ClusterManager clusterManager, java.lang.String xml, SessionInfo sessionInfo) throws XmlBlasterException
xml
- The XML based ASCII stringsessionInfo
- The sessionInfo needs to be passed through to ClusterNode
XmlBlasterException
public NodeParser(ServerScope glob, ClusterNode clusterNode, java.lang.String xml) throws XmlBlasterException
<clusternode id='heron.mycomp.com'>" + <master type='DomainToMaster' version='1.0'>\n" + <key queryType='DOMAIN' domain='RUGBY'/>\n" + </master>\n" + </clusternode>\n";
glob
- clusterNode
- xml
-
XmlBlasterException
Method Detail |
---|
public ClusterNode getClusterNode()
public void characters(char[] ch, int start, int length)
characters
in interface org.xml.sax.ContentHandler
characters
in class SaxHandlerBase
public final void startElement(java.lang.String uri, java.lang.String localName, java.lang.String name, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class SaxHandlerBase
name
- Tag nameattrs
- the attributes of the tag
org.xml.sax.SAXException
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String name) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class SaxHandlerBase
name
- Tag name
org.xml.sax.SAXException
public static void main(java.lang.String[] args)
|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |