1 24 25 package helloworld; 26 27 import java.util.Map ; 28 29 import org.objectweb.dream.AbstractComponent; 30 import org.objectweb.dream.Push; 31 import org.objectweb.dream.PushException; 32 import org.objectweb.dream.message.Message; 33 import org.objectweb.dream.message.manager.MessageManager; 34 import org.objectweb.fractal.api.NoSuchInterfaceException; 35 import org.objectweb.fractal.api.control.IllegalBindingException; 36 import org.objectweb.fractal.api.control.IllegalLifeCycleException; 37 38 39 public class ServerImpl extends AbstractComponent implements Push 40 { 41 42 MessageManager messageManager; 43 44 47 public void push(Message message, Map context) throws PushException 48 { 49 HelloWorldChunk chunk = (HelloWorldChunk) message 50 .getChunk(HelloWorldChunk.DEFAULT_NAME); 51 if (chunk == null) 52 { 53 throw new PushException("Unable to find Helloworld chunk"); 54 } 55 System.out.println("Thread=" + Thread.currentThread().getName() + " : " 56 + chunk.getMessage()); 57 messageManager.deleteMessage(message); 58 } 59 60 64 public synchronized void bindFc(String clientItfName, Object serverItf) 65 throws NoSuchInterfaceException, IllegalBindingException, 66 IllegalLifeCycleException 67 { 68 super.bindFc(clientItfName, serverItf); 69 if (clientItfName.equals(MessageManager.ITF_NAME)) 70 { 71 messageManager = (MessageManager) serverItf; 72 } 73 } 74 75 78 public String [] listFc() 79 { 80 return new String []{MessageManager.ITF_NAME}; 81 } 82 } | Popular Tags |