Index: trunk/src/main/java/omq/client/proxy/MultiProxymq.java
===================================================================
--- trunk/src/main/java/omq/client/proxy/MultiProxymq.java	(revision 64)
+++ 	(revision )
@@ -1,16 +1,0 @@
-package omq.client.proxy;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-public class MultiProxymq implements InvocationHandler {
-
-	@Override
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		
-		
-		
-		return null;
-	}
-
-}
Index: trunk/src/main/java/omq/common/broker/Broker.java
===================================================================
--- trunk/src/main/java/omq/common/broker/Broker.java	(revision 64)
+++ trunk/src/main/java/omq/common/broker/Broker.java	(revision 66)
@@ -150,4 +150,13 @@
 		try {
 			remote.startRemoteObject(reference, this);
+			remoteObjs.put(reference, remote);
+		} catch (Exception e) {
+			throw new RemoteException(e);
+		}
+	}
+	
+	public void startTriggerEvent(String reference, RemoteObject remote) throws RemoteException {
+		try {
+			remote.startTriggerEvent(reference, this);
 			remoteObjs.put(reference, remote);
 		} catch (Exception e) {
Index: trunk/src/main/java/omq/server/RemoteObject.java
===================================================================
--- trunk/src/main/java/omq/server/RemoteObject.java	(revision 64)
+++ trunk/src/main/java/omq/server/RemoteObject.java	(revision 66)
@@ -90,4 +90,12 @@
 	}
 
+	public void startTriggerEvent(String reference, Broker broker) throws Exception {
+		this.broker = broker;
+		UID = reference;
+		if (channel == null || !channel.isOpen()) {
+			channel = broker.getChannel();
+		}
+	}
+
 	@Override
 	public void run() {
Index: trunk/src/test/java/omq/test/event/EventTrigger.java
===================================================================
--- trunk/src/test/java/omq/test/event/EventTrigger.java	(revision 66)
+++ trunk/src/test/java/omq/test/event/EventTrigger.java	(revision 66)
@@ -0,0 +1,9 @@
+package omq.test.event;
+
+import omq.Remote;
+import omq.client.annotation.RemoteInterface;
+
+@RemoteInterface
+public interface EventTrigger extends Remote {
+
+}
Index: trunk/src/test/java/omq/test/event/EventTriggerImpl.java
===================================================================
--- trunk/src/test/java/omq/test/event/EventTriggerImpl.java	(revision 66)
+++ trunk/src/test/java/omq/test/event/EventTriggerImpl.java	(revision 66)
@@ -0,0 +1,12 @@
+package omq.test.event;
+
+import omq.server.RemoteObject;
+
+public class EventTriggerImpl extends RemoteObject implements EventTrigger {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+}
Index: trunk/src/test/java/omq/test/event/ZeroEvent.java
===================================================================
--- trunk/src/test/java/omq/test/event/ZeroEvent.java	(revision 66)
+++ trunk/src/test/java/omq/test/event/ZeroEvent.java	(revision 66)
@@ -0,0 +1,22 @@
+package omq.test.event;
+
+import omq.common.event.Event;
+
+public class ZeroEvent extends Event {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	public ZeroEvent() {
+	}
+
+	public ZeroEvent(String corrId, String topic) {
+		super(corrId, topic);
+	}
+
+	public String getZeroMessage() {
+		return "divition by 0";
+	}
+
+}
Index: trunk/src/test/java/omq/test/event/ZeroListener.java
===================================================================
--- trunk/src/test/java/omq/test/event/ZeroListener.java	(revision 66)
+++ trunk/src/test/java/omq/test/event/ZeroListener.java	(revision 66)
@@ -0,0 +1,15 @@
+package omq.test.event;
+
+import omq.common.event.EventListener;
+
+public class ZeroListener extends EventListener<ZeroEvent> {
+
+	public ZeroListener(String topic) {
+		super(topic);
+	}
+
+	@Override
+	public void notifyEvent(ZeroEvent event) {
+		System.out.println(event.getZeroMessage());
+	}
+}
