public class AllocateServerSocketServlet extends BaseHttpServlet implements CartePluginInterface
Modifier and Type | Field and Description |
---|---|
static String |
CONTEXT_PATH |
static String |
PARAM_HOSTNAME |
static String |
PARAM_ID |
static String |
PARAM_RANGE_START |
static String |
PARAM_SOURCE_SLAVE |
static String |
PARAM_SOURCE_STEPCOPY |
static String |
PARAM_SOURCE_STEPNAME |
static String |
PARAM_TARGET_SLAVE |
static String |
PARAM_TARGET_STEPCOPY |
static String |
PARAM_TARGET_STEPNAME |
static String |
PARAM_TRANSFORMATION_NAME |
static String |
XML_TAG_PORT |
detections, jobMap, log, socketRepository, transformationMap
Constructor and Description |
---|
AllocateServerSocketServlet() |
AllocateServerSocketServlet(TransformationMap transformationMap) |
Modifier and Type | Method and Description |
---|---|
void |
doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
String |
getContextPath() |
String |
getService() |
String |
toString() |
convertContextPath, doDelete, doPost, doPut, getDetections, getJobMap, getSocketRepository, getTransformationMap, isJettyMode, logBasic, logBasic, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logRowlevel, setJettyMode, setup
doHead, doOptions, doTrace, getLastModified, service, service
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isJettyMode, setJettyMode, setup
public static final String CONTEXT_PATH
public static final String PARAM_RANGE_START
public static final String PARAM_HOSTNAME
public static final String PARAM_ID
public static final String PARAM_TRANSFORMATION_NAME
public static final String PARAM_SOURCE_SLAVE
public static final String PARAM_SOURCE_STEPNAME
public static final String PARAM_SOURCE_STEPCOPY
public static final String PARAM_TARGET_SLAVE
public static final String PARAM_TARGET_STEPNAME
public static final String PARAM_TARGET_STEPCOPY
public static final String XML_TAG_PORT
public AllocateServerSocketServlet()
public AllocateServerSocketServlet(TransformationMap transformationMap)
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
Allocates port to use by client.
Allows any client to ask for a port number to use. This is necessary several slaves can be run on the same host.
The method ensures the port number is unique for host name provided and makes sure the slaves are using
valid port numbers. Data communication across a cluster of Carte servers happens through TCP/IP sockets.
Slave transformations sometimes open (or listen to) tens to hundreds of sockets. When you want to allocate
the port numbers for data communication between slave transformation in a kettle clustering run, you need
unique combinations of all the parameters below.
port number
will be returned in the Response object. If an error occurred you'll receive html output
describing the problem. HTTP status code of such response is 500.
Example Request:
GET /kettle/allocateSocket/?xml=Y&rangeStart=100&host=locahost&id=clust&trans=my_trans&sourceSlave=slave_1 &sourceStep=200&sourceCopy=1&targetSlave=slave_2&targetStep=50&targetCopy=1
name | description | type |
---|---|---|
xml | Boolean flag set to either Y or N describing if xml or html reply
should be produced. |
boolean, optional |
rangeStart | Port number to start looking from. | integer |
host | Port's host. | query |
id | Carte container id. | query |
trans | Running transformation id. | query |
sourceSlave | Name of the source slave server. | query |
sourceStep | Port number step used on source slave server. | integer |
sourceCopy | Number of copies of the step on source server. | integer |
targetSlave | Name of the target slave server. | query |
targetStep | Port number step used on target slave server. | integer |
targetCopy | Number of copies of the step on target server. | integer |
element: | (custom) |
media types: | text/xml, text/html |
Response wraps port number that was allocated or error stack trace if an error occurred. Response HTTP code is 200 if there were no errors. Otherwise it is 500.
Example Response:
100
code | description |
---|---|
200 | Request was processed and XML response is returned. |
500 | Internal server error occurs during request processing. This might also be caused by missing request parameter. |
doGet
in interface CartePluginInterface
doGet
in class javax.servlet.http.HttpServlet
javax.servlet.ServletException
IOException
public String getService()
getService
in interface CarteServletInterface
public String getContextPath()
getContextPath
in interface CartePluginInterface
Copyright © 2018 Hitachi Vantara. All rights reserved.