Dans un environnement géré, utilisez l'API CCI pour rechercher une instance de IMSConnectionFactory depuis l'espace de nom JNDI puis utilisez-la pour obtenir une instance de IMSConnection.
ConnectionFactory cf = null;
if (isManaged) {
//Utiliser la recherche JNDI pour obtenir une instance ConnectionFactory
//Suppose que la fabrique de connexions a comme nom JNDI "MyIMS"
Context ic = new InitialContext();
cf = (ConnectionFactory) ic.lookup("MyIMS");
Si JNDI n'est pas configuré, une application CCI peut configurer manuellement un objet IMSManagedConnectionFactory et l'utiliser pour obtenir une fabrique de connexions.
IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
mcf.setDataStoreName("MyDSName");
mcf.setHostName("myHostNm");
mcf.setPortNumber(new Integer(1234));
...
//Créer une fabrique de connexions à partir de la fabrique de connexions gérée
cf = (IMSConnectionFactory) mcf.createConnectionFactory();
L'exemple suivant montre l'utilisation des interfaces CCI pour
exécuter une commande sur un système EIS. public void execute() {
try {
ConnectionFactory cf = null;
if (isManaged) {
//Utiliser la recherche JNDI pour obtenir une instance ConnectionFactory - suppose
//que la fabrique de connexions a le nom JNDI de MyIMS
Context ic = new InitialContext();
cf = (ConnectionFactory) ic.lookup("MyIMS");
} else {
//Créer et définir des valeurs pour la fabrique de connexions gérée
IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
mcf.setDataStoreName("MyDSName");
mcf.setHostName("myHostNm");
mcf.setPortNumber(new Integer(1234));
//Créer une fabrique de connexions à partir de la fabrique de connexions gérée
cf = (IMSConnectionFactory) mcf.createConnectionFactory();
}
// Créer un objet IMSConnection
Connection connection = cf.getConnection();
//Créer un objet IMSInteraction depuis la connexion
//pour interagir avec IMS pour exécuter la transaction IVTNO (Phonebook)
IMSInteraction interaction = (IMSInteraction) connection.createInteraction();
IMSInteractionSpec ixnSpec = new IMSInteractionSpec();
ixnSpec.setInteractionVerb(IMSInteractionSpec.SYNC_SEND_RECEIVE);
//Créer un nouvel enregistrement d'entrée
input = new PhoneBookInputRecordField("cp037");
input.setIn__ll((short)59);
input.setIn__zz((short) 0);
input.setIn__trcd("IVTNO");
input.setTranCodeLength(10);
input.setIn__command("DISPLAY");
input.setIn__name1("LAST3");
input.setIn__name2("");
input.setAllFieldsGiven(false);
PhoneBookOutputRecordField
//Créer un nouvel enregistrement de sortie
output = new PhoneBookOutputRecordField("cp037");
//Exécuter l'interaction en appelant la méthode execute()
interaction.execute(ixnSpec, input, output);
//Afficher le résultat
System.out.println ("Output is: ");
System.out.println("\nMessage: "
+ output.getOut__mesg()
+ "\nName:"
+ output.getOut__name1()
+ " "
+ output.getOut__name2()
+ "\nExtension: "
+ output.getOut__extn()
+ "\nZipcode: "
+ output.getOut__zip());
} catch (Exception e) {
e.printStackTrace();
} finally {
//Fermer l'interaction et la connexion
interaction.close();
connection.close();
}
}