janus.sap
Class SapJanus

java.lang.Object
  extended by com.sap.mw.jco.JCO.Connection
      extended by com.sap.mw.jco.JCO.Server
          extended by janus.sap.SapJanus
All Implemented Interfaces:
Cloneable, Runnable

public class SapJanus
extends com.sap.mw.jco.JCO.Server

Diese Klasse implementiert einen RFC-Server zum Aufruf der Janus-API von ABAP-Code aus. Die Klasse kann nicht direkt instanziiert werden, sondern verwaltet selbst eine Anzahl Instanzen, Diese Zahl bestimmt die Anzahl gleichzeitig möglicher Verbindungen.

See Also:
create(int,Properties), create(int,String[]), JCO Dokumentation

Nested Class Summary
protected static class SapJanus.Handle
          Unterklasse zur Verwaltung der Connections
 
Field Summary
protected static boolean debug
          Debugging aktiv?
protected static PrintWriter debugStream
          PrintWriter für Debugging
protected static Map handles
          Janus-Verbindungen.
protected static com.sap.mw.jco.IRepository repository
          Das Repository beschreibt die Funktionsaufrufe
protected static SapJanus[] servers
          Alle Instanzen dieses Servers
protected static com.sap.mw.jco.JCO.TraceListener traceListener
          TraceListener
 
Fields inherited from class com.sap.mw.jco.JCO.Server
AUTHORIZATION_MODE_BASIC, AUTHORIZATION_MODE_SNC, FUNCTION_MODEL, m_middleware, REQUEST_RESPONSE_MODEL
 
Fields inherited from class com.sap.mw.jco.JCO.Connection
attributes, codepage_converter, conn_object, conn_params, connection_cpc_mode, dsr_monitor, jarm_monitor, last_active_timestamp, num_received_bytes, num_sent_bytes, passport_bytes, pool, properties, rfc_handle, rfm_name, start_time, state, throughput, time_handle_request, time_middleware, time_total
 
Constructor Summary
protected SapJanus(Properties props)
          Konstruktor mit Properties-Objekt.
protected SapJanus(String[] args)
          Konstruktor mit Kommandozeilen-Argumenten.
 
Method Summary
static void create(int count, Properties props)
          Erzeuge alle Instanzen mit Properties-Objekt.
static void create(int count, String[] args)
          Erzeuge alle Instanzen mit Kommandozeilen-Argumenten.
static com.sap.mw.jco.IRepository createRepository()
          Definiere alle Funktionsaufrufe in einem Repository
protected  void doAwaitio(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Warte auf die Antwort.
protected  void doAwaitiotext(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Warte auf die Antwort.
protected  void doCancel(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Breche einen laufenden I/O ab.
protected  void doConnect(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Verbindungsaufbau
protected  void doDisconnect(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Verbindungsabbau
protected  void doSendmessage(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Message senden und Antwort empfangen.
protected  void doSendtextmessage(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Message senden und Antwort empfangen.
protected  void doTransaction(com.sap.mw.jco.JCO.ParameterList imp, com.sap.mw.jco.JCO.ParameterList exp, com.sap.mw.jco.JCO.ParameterList tab)
          Transaktionssteuerung
static int getCount()
          Ermittle die Anzahl der Instanzen
static PrintWriter getDebugStream()
          Rückgabe des DebugStream
protected static SapJanus.Handle getHandle(com.sap.mw.jco.JCO.ParameterList imp)
          Ermittle das Handle zur numerischen Handle-Id
static SapJanus[] getServers()
          Ermittle die Instanzen
 void handleRequest(com.sap.mw.jco.JCO.Function func)
           
static boolean isDebug()
          Rückgabe des Debug-Status
static void main(String[] args)
          Test-Hauptprogramm.
protected static void releaseAll()
          Gebe alle Verbindungen wieder frei
static boolean setDebug(boolean debug)
          Setzen des Debug-Status
static void setDebugStream(PrintWriter stream)
          Setzen des debugStream und debugStatus
static void setDebugStream(String file)
          Setzen des debugStream und debugStatus
protected  void setErrorInfo(Exception e, com.sap.mw.jco.JCO.ParameterList exp)
          Trage eine Exception in ERROR_INFO ein.
static void setTraceLevel(int level)
          Hilfsfunktion zum Setzen des Tracelevels
protected  void setTransaction(com.sap.mw.jco.JCO.ParameterList exp, Connection conn)
          Setze das Transaktionsflag in den Export-Parametern
static void startAll()
          Starte alle Instanzen
static void stopAll()
          Stoppe alle Instanzen
 
Methods inherited from class com.sap.mw.jco.JCO.Server
abort, beginCall, checkAuthorization, disconnect, dispatchRequest, endCall, getAttributes, getCallModel, getDsrPassport, getFunction, getGWHost, getGWServ, getMiddlewareImplementation, getProgID, getPropertyInfo, getRepository, getServerInterface, getState, getThread, getTrace, handleRequest, isAlive, listen, onCheckTID, onCommit, onConfirmTID, onRollback, run, setCallModel, setProperty, setRepository, setState, setThread, setTrace, start, stop, suspend
 
Methods inherited from class com.sap.mw.jco.JCO.Connection
checkProperties, clone, finalize, getConnectionHandle, getProperties, getProperty, getThroughput, hideConnection, isValid, setThroughput
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

protected static boolean debug
Debugging aktiv?


debugStream

protected static PrintWriter debugStream
PrintWriter für Debugging


handles

protected static Map handles
Janus-Verbindungen. Die Map ist static, da mehrere Instanzen dieses Servers existieren können. Die Handles müssen aber eindeutig sein.


repository

protected static com.sap.mw.jco.IRepository repository
Das Repository beschreibt die Funktionsaufrufe


servers

protected static SapJanus[] servers
Alle Instanzen dieses Servers


traceListener

protected static com.sap.mw.jco.JCO.TraceListener traceListener
TraceListener

Constructor Detail

SapJanus

protected SapJanus(Properties props)
Konstruktor mit Properties-Objekt.

Parameters:
props - wird an Superklasse übergeben
See Also:
create(int,Properties)

SapJanus

protected SapJanus(String[] args)
Konstruktor mit Kommandozeilen-Argumenten.

Parameters:
args - wird an Superklasse übergeben
See Also:
create(int,String[])
Method Detail

create

public static void create(int count,
                          Properties props)
Erzeuge alle Instanzen mit Properties-Objekt.

Parameters:
count - Anzahl der instanzen
props - wird an Konstruktor übergeben

create

public static void create(int count,
                          String[] args)
Erzeuge alle Instanzen mit Kommandozeilen-Argumenten.

Parameters:
count - Anzahl der instanzen
args - wird an Konstruktor übergeben

createRepository

public static com.sap.mw.jco.IRepository createRepository()
Definiere alle Funktionsaufrufe in einem Repository


doAwaitio

protected void doAwaitio(com.sap.mw.jco.JCO.ParameterList imp,
                         com.sap.mw.jco.JCO.ParameterList exp,
                         com.sap.mw.jco.JCO.ParameterList tab)
                  throws CommException,
                         com.sap.mw.jco.JCO.J2EEAbapException
Warte auf die Antwort. Die Antwort ist als String formatiert. Dies sollte auf UNICODE-Systemen benutzt werden, wenn die Daten nur Text enthalten.

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException

doAwaitiotext

protected void doAwaitiotext(com.sap.mw.jco.JCO.ParameterList imp,
                             com.sap.mw.jco.JCO.ParameterList exp,
                             com.sap.mw.jco.JCO.ParameterList tab)
                      throws CommException,
                             com.sap.mw.jco.JCO.J2EEAbapException,
                             UnsupportedEncodingException
Warte auf die Antwort. Die Antwort ist als String formatiert. Dies sollte auf UNICODE-Systemen benutzt werden, wenn die Daten nur Text enthalten.

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException
UnsupportedEncodingException

doCancel

protected void doCancel(com.sap.mw.jco.JCO.ParameterList imp,
                        com.sap.mw.jco.JCO.ParameterList exp,
                        com.sap.mw.jco.JCO.ParameterList tab)
                 throws CommException,
                        com.sap.mw.jco.JCO.J2EEAbapException
Breche einen laufenden I/O ab.

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException

doConnect

protected void doConnect(com.sap.mw.jco.JCO.ParameterList imp,
                         com.sap.mw.jco.JCO.ParameterList exp,
                         com.sap.mw.jco.JCO.ParameterList tab)
                  throws Exception
Verbindungsaufbau

Throws:
Exception

doDisconnect

protected void doDisconnect(com.sap.mw.jco.JCO.ParameterList imp,
                            com.sap.mw.jco.JCO.ParameterList exp,
                            com.sap.mw.jco.JCO.ParameterList tab)
                     throws CommException,
                            com.sap.mw.jco.JCO.J2EEAbapException
Verbindungsabbau

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException

doSendmessage

protected void doSendmessage(com.sap.mw.jco.JCO.ParameterList imp,
                             com.sap.mw.jco.JCO.ParameterList exp,
                             com.sap.mw.jco.JCO.ParameterList tab)
                      throws CommException,
                             com.sap.mw.jco.JCO.J2EEAbapException
Message senden und Antwort empfangen. Die Nachricht und die Antwort sind als Bytearray formatiert.

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException

doSendtextmessage

protected void doSendtextmessage(com.sap.mw.jco.JCO.ParameterList imp,
                                 com.sap.mw.jco.JCO.ParameterList exp,
                                 com.sap.mw.jco.JCO.ParameterList tab)
                          throws CommException,
                                 com.sap.mw.jco.JCO.J2EEAbapException,
                                 UnsupportedEncodingException
Message senden und Antwort empfangen. Die Nachricht und die Antwort sind als Strings formatiert. Dies sollte auf UNICODE-Systemen benutzt werden, wenn die Daten nur Text enthalten.

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException
UnsupportedEncodingException

doTransaction

protected void doTransaction(com.sap.mw.jco.JCO.ParameterList imp,
                             com.sap.mw.jco.JCO.ParameterList exp,
                             com.sap.mw.jco.JCO.ParameterList tab)
                      throws CommException,
                             com.sap.mw.jco.JCO.J2EEAbapException
Transaktionssteuerung

Throws:
CommException
com.sap.mw.jco.JCO.J2EEAbapException

getCount

public static int getCount()
Ermittle die Anzahl der Instanzen


getDebugStream

public static PrintWriter getDebugStream()
Rückgabe des DebugStream


getHandle

protected static SapJanus.Handle getHandle(com.sap.mw.jco.JCO.ParameterList imp)
                                    throws com.sap.mw.jco.JCO.J2EEAbapException
Ermittle das Handle zur numerischen Handle-Id

Parameters:
imp - Die RFC-Import-Parameter
Throws:
com.sap.mw.jco.JCO.J2EEAbapException

getServers

public static SapJanus[] getServers()
Ermittle die Instanzen


handleRequest

public void handleRequest(com.sap.mw.jco.JCO.Function func)
                   throws com.sap.mw.jco.JCO.J2EEAbapException
Overrides:
handleRequest in class com.sap.mw.jco.JCO.Server
Throws:
com.sap.mw.jco.JCO.J2EEAbapException

isDebug

public static boolean isDebug()
Rückgabe des Debug-Status


main

public static void main(String[] args)
                 throws Exception
Test-Hauptprogramm. Die Parameterliste wird direkt an create() übergeben.

Parameters:
args - -a -g -x
Throws:
Exception

releaseAll

protected static void releaseAll()
Gebe alle Verbindungen wieder frei


setDebug

public static boolean setDebug(boolean debug)
Setzen des Debug-Status

Parameters:
debug - Debug-Status
Returns:
der vorherige Stand

setDebugStream

public static void setDebugStream(PrintWriter stream)
Setzen des debugStream und debugStatus

Parameters:
stream - Ausgabe-Stream für Debugausgaben

setDebugStream

public static void setDebugStream(String file)
Setzen des debugStream und debugStatus

Parameters:
file - Dateiname für Debugausgaben

setErrorInfo

protected void setErrorInfo(Exception e,
                            com.sap.mw.jco.JCO.ParameterList exp)
Trage eine Exception in ERROR_INFO ein.


setTraceLevel

public static void setTraceLevel(int level)
Hilfsfunktion zum Setzen des Tracelevels


setTransaction

protected void setTransaction(com.sap.mw.jco.JCO.ParameterList exp,
                              Connection conn)
Setze das Transaktionsflag in den Export-Parametern


startAll

public static void startAll()
Starte alle Instanzen


stopAll

public static void stopAll()
Stoppe alle Instanzen



Copyright © 2008 MvC Systemsoftware.