/* * Copyright (c) 2002-2003 iReasoning Inc. All Rights Reserved. * * This SOURCE CODE FILE, which has been provided by iReasoning Inc. as part * of an iReasoning Software product for use ONLY by licensed users of the product, * includes CONFIDENTIAL and PROPRIETARY information of iReasoning Inc. * * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH * THE PRODUCT. * * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD IREASONING SOFTWARE, ITS * RELATED COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY * CLAIMS OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR * DISTRIBUTION OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES * ARISING OUT OF OR RESULTING FROM THE USE, MODIFICATION, OR * DISTRIBUTION OF PROGRAMS OR FILES CREATED FROM, BASED ON, AND/OR * DERIVED FROM THIS SOURCE CODE FILE. */ import java.io.*; import java.util.*; import com.ireasoning.protocol.*; import com.ireasoning.protocol.tl1.*; /** * This class demonstrates a alarm receiver for collecting TL1 notification * messages. It connects to a local TL1 agent at port 9000, and waits for * alarms. */ public class alarm { /** * One implementation of TL1 notification listener, using the waitForNotificationMsg method */ private static void alarmImpl1() { try { TL1Session session = new TL1Session("localhost", 9000); TL1Command req = TL1Command.act_user("abc", "123"); print(session.send(req)); //launch a new thread which keeps sending a randomly picked command //to agent every 60 seconds session.launchKeepAliveThread("rtrv-eqpt:NodeA:SLOT-ALL:123;", 60, false); while(true) {//waiting for autonomous messages TL1NotificationMsg[] notes = session.waitForNotificationMsg(); for (int i = 0; i < notes.length ; i++) { System.out.println( "Got a new alarm:\r\n" + notes[i]); } } } catch(Exception e) { System.out.println( e); e.printStackTrace(); } } /** * One implementation of TL1 notification listener, using the asynchronous handleMsg method */ private static void alarmImpl2() { try { String hostname = "localhost"; int port = 9000; System.out.println( "login to " + hostname + ":" + port); TL1Session session = new TL1Session(hostname, port); session.addListener(new ListenerImpl()); TL1Command req = new TL1Command(); //Login to the TL1 agent req = TL1Command.act_user("abc", "123"); //synchronously send login command session.send(req); //Starts a thread listening for notifications session.startThread(); } catch(Exception e) { System.out.println( e); e.printStackTrace(); } } static class ListenerImpl implements Listener { /** * Callback method, to be called when there is new message */ public void handleMsg(Object msgSender, Msg msg) { TL1OutputMsg tl1msg = (TL1OutputMsg) msg; print(new TL1OutputMsg[]{tl1msg}); } } public static void main(String[] args) { //Two implementations of TL1 notificaiton listener: //alarmImpl1(); alarmImpl2(); } static void print(TL1OutputMsg[] ms) { TL1Util.printOutputMsg(ms); } }//end of class alarm