org.zlatan.rmi
Class RmiController
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.zlatan.rmi.RmiController
- All Implemented Interfaces:
- java.rmi.Remote, RmiControllerInterface, java.io.Serializable
- public class RmiController
- extends java.rmi.server.UnicastRemoteObject
- implements RmiControllerInterface
Classe che implementa il server RMI del modulo IBRA. Un ordine d'acquisto
puņ essere inviato via RMI a questo server: deve trattarsi di un
PurchaseOrderType
compilato nei campi principali (quelli non
di default). Il server utilizza un PurchaseOrderSender
come
proxy per l'invio del messaggio JMS al PrepareRequestDispatcher
.
- See Also:
PrepareRequestDispatcher
,
Serialized Form
Fields inherited from class java.rmi.server.RemoteObject |
ref |
Constructor Summary |
RmiController(java.lang.String connFact,
java.lang.String destName)
Costruttore. |
Method Summary |
void |
insertPO(PurchaseOrderType po)
L'implementazione dell'unico metodo che l'interfaccia RMI
espone verso l'esterno. |
static void |
main(java.lang.String[] args)
Metodo che lancia il server. |
Methods inherited from class java.rmi.server.UnicastRemoteObject |
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
equals, getRef, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
RmiController
public RmiController(java.lang.String connFact,
java.lang.String destName)
throws java.rmi.RemoteException
- Costruttore. Crea il
PurchaseOrderSender
utilizzando i parametri
passati.
- Parameters:
connFact
- il nome JNDI della ConnectionFactory
JMSdestName
- il nome JNDI della coda JMS per contattare PrepareRequestDispatcher
insertPO
public void insertPO(PurchaseOrderType po)
throws java.rmi.RemoteException
- L'implementazione dell'unico metodo che l'interfaccia RMI
espone verso l'esterno.
Il metodo:
- controlla che sia presente almeno uno tra partner number e
from nell'ordine di acquisto in ingresso: in caso contrario lancia
una eccezione
- inserisce il valore
rmi
nel campo protocol
dell'ordine
- eventualmente, calcola un
purchaseOrderNumber
per
l'ordine e lo setta
- controlla che sia presente almeno un codice materiale: in caso contraio,
lancia una eccezione
- invia l'ordine utilizzando il
PurchaseOrderSender
- Specified by:
insertPO
in interface RmiControllerInterface
- Throws:
java.rmi.RemoteException
main
public static void main(java.lang.String[] args)
- Metodo che lancia il server. Crea una istanza del driver e lo registra
presso con il nome specificato nel file
rmicontroller-config.xml
presso il rmiregistry in ascolto su un host anch'esso specificato in fase
di configurazione.
- See Also:
ConfigFile