Write
Service File
/*
*Copyright (c) Jmin. All rights reserved.
*/
package first;
import
org.jmin.kernel.framework.ext.J2eeAbstractService;
/**
* service sample.
*
* @author Chris liao
* @version 1.0
*/
public class TopicService extends J2eeAbstractService{
/**
* Here, you need't put down anything.
* It is simple ?
*/
}
Write Topic file
/*
*Copyright (c) jmin Organization. All rights reserved.
*/
package first;
import org.jmin.kernel.aspect.msg.jms.topic.Topic;
/**
* Topic sample.
*
* @author Chris liao
* @version 1.0
*/
public class HelloTopic extends Topic{
/**
* Here,you need't write anything
*/
}
Define xml description
file
//*file:service.xml
<?xml version="1.0"?>
<service id="admin">
<components>
<component id="TopicService" type="service">
<class>first.TopicService </class>
<property name="aspectPool">
<map>
<entry key="hello" class="first.HelloTopic"/>
</map>
</property>
</component>
</components>
</service>
Deploy Service file
Make a jar file include all class
files and description file, then put the jar to Jmin
deploy folder
Testing
/*
*Copyright (c) Jmin. All rights reserved.
*/
package first; |
|
import org.jmin.kernel.aspect.msg.SimpleMessage;
import org.jmin.kernel.aspect.msg.jms.topic.TopicProxy;
import org.jmin.kernel.aspect.net.NSRB;
import org.jmin.kernel.aspect.net.NetContext;
import org.jmin.kernel.framework.aspect.J2eeAspectAddress;
/**
* Topic sample.
*
* @author Chris liao
* @version 1.0
*/
public class TestTopic {
public static void main(String args[])throws Exception{
NSRB nsrb = NSRB.init();
NetContext context = nsrb.createNetContext("socket://localhost:9988");
TopicProxy proxy1 = new TopicProxy();
proxy.bind(context);
SimpleMessage request = new SimpleMessage();
J2eeAspectAddress destination= new J2eeAspectAddress();
destination.setAspectName("hello");
destination.setServiceID("TopicService");
proxy.publish(destination,request);
} } /*
*Copyright (c) Jmin. All rights reserved.
*/
package first; import
org.jmin.kernel.aspect.msg.MessageListener;
import org.jmin.kernel.aspect.msg.Message;
/**
* Topic sample.
*
* @author Chris liao
* @version 1.0
*/
public class HelloAsynListner implements MessageListener{
/**
* handle message
*/
public void onMessage(Message request){
System.out.println(request);
}
} /*
*Copyright (c) Jmin. All rights reserved.
*/
package first; import
org.jmin.kernel.aspect.msg.jms.topic.TopicProxy;
import org.jmin.kernel.aspect.net.NSRB;
import org.jmin.kernel.aspect.net.NetContext;
import org.jmin.kernel.util.Locker;
/**
* Topic sample.
*
* @author Chris liao
* @version 1.0
*/
public class TestReceiver {
public static void main(String args[])throws Exception{
NSRB nsrb = NSRB.init();
NetContext context = nsrb.createNetContext("socket://localhost:9988");
TopicProxy proxy = new TopicProxy();
proxy.bind(context);
HelloAsynListner lister = new HelloAsynListner();
proxy.connect("TopicService","hello",lister);
Object obj = new Object();
Locker.lock(obj);
}
}
 |
Copyright © 2006 . All Rights Reserved. |
|